Functional Description
Purpose
To locate, calculate and apply special pricing adjustments to items sold during Sales Order
Processing.
Setup Notes and Prerequisites
None.
Special Logic
When using this function in the grid to return a pointer multiple times pass the pointer in to the
function rather than freeing memory each call.
Technical Specification
Related Tables
Table Table Description
F4070Price Adjustment Schedule
F4072Price Adjustment Detail
F40UI74Adjustment Work File
F4071Price Adjustment Type
Related Business Functions
Source NameFunction Name
B4200800.CPricing Search Functions
Get Pricing Pref Hierarchy
Load Price Key by Preference
B4200800.C
Processing
Preprocessing Setup
1.If A simple 'trade discount' calculation is desired (TRDC-parm <> 0),
Calculate the discount:
UPRC-parm = 1-(TRDC / 100 ) *UPRC-parm
FUP-parm = 1-(TRDC / 100 ) *FUP-parm
Exit Program
end
2.If The price effective date is zero (SDPEFJ), advanced pricing can not occur.
Pricing will occur at some future date.
Assign '1' to the temporary price flag (SDTPC).
This flag identifies lines which have not been processed by Advanced
Pricing. Exit program.
end
3. HOUSEKEEPING - Initialize Variables
If EV04 is equal to '1'
Add 1 to the Revision Level AREV-parm
end
Reset the 'Detached' adjustment flag
Detach_Flag = '1'
4.Adjustment location is dependent on the Unit of Measure within an order. There
are three different Units of Measure associated with a sold item: Transaction
(the measurement of product shipped, e.g. boxes sent on a truck), Pricing (the
measurement used to display the 'price per unit', e.g. the user wishes to see the
price per Each regardless of the form in which the goods are shipped - boxes,
cases, etc.), and Primary (the minimum unit stored in the warehouse, e.g. the
smallest amount we can sell is Each, or Pair).
The pricing system will use up to two of these measures when searching for adjustments. The pricing
administrator may specify any one of the three measures to use for locating price adjustments. If the
selected unit of measure fails to locate a record the system will attempt a second search with the
Primary Unit of Measure (unless the administrator selected Primary Unit of Measure for the first search
attempt).
The initial search Unit of Measure is specified in the General Constants file (F4009).
Get 'Sales Price Retrieval UOM'(UMB1) from system constants (F4009).
if UMB1 = ' '
Search UOM1-dwf = Primary UOM (SDUOM1)
Search UOM2-dwf = Not needed
if UMB1 = '1'
Search UOM1-dwf = Transaction UOM (SDUOM)
Search UOM2-dwf = Primary UOM(SDUOM1)
if UMB1 = '2'
Search UOM1-dwf = Pricing UOM(SDUOM4)
Search UOM2-dwf = Primary UOM(SDUOM1)
When searching for adjustments the server will attempt to locate a record with Search UOM1 first.
If a record is not found, the server will make a second attempt with Search UOM2 (unless Search
UOM1-dwf and Search UOM2-dwf are the same).
D4500050 - F4072 Calculate Price Adjustment
Special Input Expected
Parameters:
Data Item Data Structure Description I/O RequiredNotes
CTID Computer ID I Y
JOBS Job Number I/O N Will assign one if not
passed and return it
XLIN Line Number I N Will use LNID from
F4211 if not passed
AREV Revision Level I/O Y
ASN szPriceAdjustmentSchedule I Y
CRCD szCurrencyCodeFrom I Y Domestic
CRDC szCurrencyCodeTo I Y Foreign
UPRC mnAmtPricePerUnit I/O Y Unit Price(in
domestic)
FUP mnAmtForPricePerUnit I/O Unit Price (in
foreign)
MODE Processing Mode I Y 1 = Sales
2 = Called by Check
Price
3 = Purchasing
OLVL cAdjustmentLevel I N 1 = Line
2 = Basket
3 = Order
QTY mnOrderQuantity I Y
EV01 cProcessFreeGoods I N 1 = Yes; 2 = No
TRDC mnDiscountTrade I N
GENLNG Pointer to Order Detail
(F4211) I/O Y
GENLNGPointer to Item/Branch
record (F4102) I Y
EV03 cSuppressErrorMessage I N 1 = Suppress error
message
EV04 cIncrementAdjLevel I 1 = Yes
EV05 cSuppressWorkfileWriteFlag I N '1' = Don't write to
F40UI74
' ' = Write to
F40UI74
Special Output Returned
Parameters:
Data Item Data Structure Description I/ORequiredNotes
JOBS Job Number I/O N Will assign one if not
passed and return it
AREV Revision Level I/O Y
UPRC mnAmtPricePerUnit I/O Y Unit Price(in
domestic)
FUP mnAmtForPricePerUnit I/O Unit Price (in
foreign)
EV02 First Adjustment was Override
flag O 1 = True; 0 = False
GENLNG Pointer to Order Detail
(F4211) I/O Y
DTAI szErrorMessageID O
UPRC mnDetachedPrice O Domestic sum of
Detached Adjustments
FUP mnDetachedForPrice O Foreign sum of
Detached Adjustments
^
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
szComputerID | CTID | char | NONE | NONE |
mnJobNo | JOBS | MATH_NUMERIC | NONE | NONE |
The job number (work station ID) which executed the particular job. | ||||
mnSOWorkFileLineNo | XLIN | MATH_NUMERIC | NONE | NONE |
Line number. | ||||
szPriceAdjSchedule | ASN | char | NONE | NONE |
A user defined code (40/AS) that identifies a price and adjustment schedule. A price and adjustment schedule contains one or more
| ||||
szCurrencyCodeFrom | CRCD | char | NONE | NONE |
A code that identifies the currency of a transaction. | ||||
szCurrencyCodeTo | CRDC | char | NONE | NONE |
A code that identifies the domestic (base) currency of the company on a transaction. | ||||
mnUnitPrice | UPRC | MATH_NUMERIC | NONE | NONE |
The list or base price to be charged for one unit of this item. In sales order entry, all prices must be set up in the Item Base Price File table
| ||||
mnForeignUnitPrice | FUP | MATH_NUMERIC | NONE | NONE |
The foreign price per unit. | ||||
cProcessingMode | MODE | char | NONE | NONE |
The processing mode used in Purchase Order Consolidator to signify when specific orders are being processed. | ||||
cAdjustmentLevel | OLVL | char | NONE | NONE |
A code that specifies the level at which the system calculates price adjustments. Valid values are:
1
Line level - The system calculates the
| ||||
mnOrderedQuantity | QTY | MATH_NUMERIC | NONE | NONE |
The number of units associated with an asset. | ||||
cFirstAdjOverrideFlag | EV02 | char | NONE | NONE |
| ||||
mnTradeDiscount | TRDC | MATH_NUMERIC | NONE | NONE |
Percentage by which the system reduces the price of each item. This is the only discount that will be applied. You can override it if you
| ||||
idF4211RowPtr | GENLNG | ID | NONE | NONE |
General purpose ID variable. | ||||
idF4102RowPtr | GENLNG | ID | NONE | NONE |
General purpose ID variable. | ||||
cSuppressErrorMesg | EV03 | char | NONE | NONE |
| ||||
szErrorMesgID | DTAI | char | NONE | NONE |
A code that identifies and defines a unit of information. It is an alphanumeric code up to 8 characters long that does not allow blanks or
| ||||
cSalesPriceRetUOM | UMB1 | char | NONE | NONE |
A code that specifies the unit of measure that the system uses for retrieving base prices and price adjustments for sales order processing,
| ||||
cCostLevel | CLEV | char | NONE | NONE |
A code that indicates whether the system maintains one overall inventory cost for the item, a different cost for each branch/plant, or a
| ||||
szStandardUOMConversion | TFLA | char | NONE | NONE |
Allows you to bypass the item-specific unit of measure and use the standard unit of measure. Valid values are:
blank Use the item-specific
| ||||
szCostMethod | LEDG | char | NONE | NONE |
A user defined code (40/CM) that specifies the basis for calculating item costs. Cost methods 01 through 19 are reserved for J.D. Edwards
| ||||
szSoldToCustGrp | CPGP | char | NONE | NONE |
A user defined code (40/PC) that identifies a customer group. You can group customers with similar characteristics, such as comparable
| ||||
szShipToCustGrp | PRGR | char | NONE | NONE |
A user defined code (system 40/type PI) that identifies an inventory price group for an item.
Inventory price groups have unique pricing
| ||||
mnAdjustmentRevLvl | AREV | MATH_NUMERIC | NONE | NONE |
This field maintains the current revision level of Advanced Pricing adjustments awarded within a sales order. Adjustments associated with
| ||||
cAdvanceRevLvl | EV04 | char | NONE | NONE |
| ||||
mnDomesticDetachedAdj | DETD | MATH_NUMERIC | NONE | NONE |
The total sum of Detached Adjustments which relate to a Sales Order Detail line. This amount is expressed in the domestic currency. | ||||
mnForeignDetachedAdj | DETF | MATH_NUMERIC | NONE | NONE |
The total sum of Detached Adjustments which relate to a Sales Order Detail line. This amount is expressed in the foreign currency. | ||||
cFreeGoodsFlag | FGY | char | NONE | NONE |
If a price adjustment is associated with any free goods information, this flag will be set to Y. Moreover, the option field in the Price
| ||||
mnLastLineNoAssigned | LNID | MATH_NUMERIC | NONE | NONE |
A number that identifies multiple occurrences, such as line numbers on a purchase order or other document. Generally, the system assigns
| ||||
cSuppressWorkfileWriteFlag | EV05 | char | NONE | NONE |
| ||||
mnTriangulationRateFrom | TRR1 | MATH_NUMERIC | OPT | NONE |
The triangulation currency rate used to convert the From currency code to the Triangulation currency code. | ||||
mnTriangulationRateTo | TRR2 | MATH_NUMERIC | OPT | NONE |
The triangulation currency rate that used to convert from the Triangulation currency code to the To currency code. | ||||
cCurrencyConversionMethod | CRCM | char | OPT | NONE |
A value that specifies which method to use when converting from one currency to another. Valid values are:
Y
Multiplier method. The
| ||||
cRebateProcessingOnly | EV06 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
mnProcessID | PEID | MATH_NUMERIC | OPT | NONE |
A code that identifies the Inter-Process Communication ID. | ||||
mnTransactionID | TCID | MATH_NUMERIC | OPT | NONE |
mnGrossProfitPercent | PRMG | MATH_NUMERIC | OPT | NONE |
This value indicates the profit margin percentage for the order detail line. This is calculated by ((Price - Cost) / Price) * 100. | ||||
szReasonCode | RCD | char | OPT | NONE |
A user defined code (42/RC) that explains the purpose for a transaction. For example, you can indicate the reason that you are returning
| ||||
cVolumeProcessing | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
idVIDDetailCodeRowPtr | GENLNG | ID | OPT | NONE |
General purpose ID variable. | ||||
szOrderSuffix | SFXO | char | OPT | NONE |
In the A/R and A/P systems, a code that corresponds to the pay item. In the Sales Order and Procurement systems, this code identifies
| ||||
mnPriceHistoryAltKey | AKID | MATH_NUMERIC | OPT | NONE |
A value that specifies an alternate key in the Price Adjustment Ledger File table (F4074). | ||||
szPriceHistoryAltKeySource | SRCFD | char | OPT | NONE |
A user defined code that you enter to indicate the JD Edwards system,such as Service Warranty Management etc,that the price adjustment
| ||||
mnOverrideBasePrice | OVBPRC | MATH_NUMERIC | OPT | NONE |
The foreign base price that the system calculates when no base price exists in the Item Base Price File table (F4106). The system
| ||||
mnOverrideForeignBasePrice | OVFBPRC | MATH_NUMERIC | OPT | NONE |
The foreign base price that the system calculates when no base price exists in the Item Base Price File table (F4106). The system
| ||||
szAdvancedPreferenceType | APTYPE | char | OPT | NONE |
A user defined code (40/AP) that specifies how the system processes an advanced preference price adjustment. | ||||
cPreferenceFound | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
cItemLevel | EV02 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
mnVolumeTolerancePercentage | INCRAM | MATH_NUMERIC | OPT | NONE |
This field is for the percentage amount of increase. | ||||
mnDualQty | SQOR | MATH_NUMERIC | OPT | NONE |
If the secondary unit of measure option in Inventory Constants is selected,this field will display on data entry screens. | ||||
szDualUOM | UOM2 | char | OPT | NONE |
A user defined code (00/UM) that indicates an alternate unit of measure for the item. | ||||
szSOEMBFInternalFlags | SOEF | char | OPT | NONE |
This field is broken down into 30 different flags which are passed in and out of the sales order entry MBF - F4211 Begin Doc, F4211 Pre
| ||||
cPreservePOEManualAdj | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
cProcessFreeGoods | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. |
B0000033 Get Exchange Rate | ||||
B4000520 Get Item UoM Conversion Factor | ||||
B4000530 Get Distribution Constants | ||||
B4002000 Compute Unit Or Extended Amount | ||||
B4200800 F40073 Get Pricing Preference Hierarchy | ||||
B4500130 F4076 Calculate Algebraic Expression | ||||
B4500210 Calculate Price Adjustments Test Function | ||||
B4501300 Cache Upselling Adjustments | ||||
B9800181 Environment List Business Functions | ||||
N4500190 F4073 Calculate Free Goods | ||||
X4101 Validate and Retrieve Item Master | ||||
XF4105 Item Cost I/O |
F4070 Price Adjustment Schedule | ||||
F4071 Price Adjustment Type | ||||
F4072 Price Adjustment Detail | ||||
F4075 Price Variable Table | ||||
F4076 Price Formula Master | ||||
F40UI74 Price Adjustment History Work File | ||||
F4102 Item Branch File | ||||
F4211 Sales Order Detail File | ||||
F43121 Purchase Order Receiver File |