Functional Description
Purpose
This function will retrieve the Sales Base Price from the F4106 based on the mode value determined.
(i.e. Item and Customer, Item Group and Customer, Customer Only, Item and Customer Group, Item Group
and Customer Group, Customer Group only, Item Only, Item Group Only , All Items and Customers).
Output paramaters: UPRC UnitPrice, FUP Foreign Unit Price, ACRD Credit Price, ACRD Foreign
Credit Price, UOM4 UOM of Base Price, and ERRC Error Code, ICID ItemCustomerKeyID, AN8 Address Number,
ITM Short Item Number, and CRCD Currency Code.
Setup Notes and Prerequisites
Special Logic
Technical Specification
2.2Related Tables
Table Table Description
F4106Base Price
2.3Related Business Functions
Source NameFunction Name
B4200800LoadPriceKeyByPreference
B4200800F40073GetPricingPrefernce Hierarchy
2.4Processing
Algorithm:
If the 'Advance Revision Level flag-parm (EV01) is equal to '1' AND ADVP != 'Y'
end
2)
Call GetPricingPreferenceHierarchy B4200800
PreferenceType<="51"
SoldToAddrNumber<=lpDS SoldToAddress
ShipToAddrNumber<=lpDS ShipToAddress
ArrayOfPrefModes=>wf Sorted Array of Pref Modes
NumOfArrayElements=>wf NumOfArrayElements
return the SortedArrayOfPrefModes
3)
wf Counter = 0
while a base price record is not found (F4106) and nIndex <= NumOfArrayElements
If no price was found and the while loop has ended
Return error code "2394" in Error Message ID.
end
Get Base Price Record (F4106)
Description: This function will retrieve the base price record from F4106 based on the mode value
passed.
i.e. the fetch key will depend upon the mode.
1) Using the parms returned from LoadPriceKeyByPreference
F4106Key 2 ITM <= ShortItemNumber
MCU < = Branch Plant
LOCN < = Location
LOTN <= Lot Number
AN8 <= Customer Number
ICID <= Item Customer Key ID
2)Load the Grade, Potency, Date and Uom into the F4106 key by:
Move zeros to From Potency search field on F4106 (BPFRMP).
If Price By Grade/Potency (PRPO - param) = '1'
Move From Potency (FRMP - param) to From Potency search field on F4106 (BPFRMP).
end
Move blanks to Lot Grade search field on F4106 (BPLOTG).
If Price By Grade/Potency (PRPO - param) = '2'
Move From Grade (FRGD - param) to Lot Grade search field on F4106 (BPLOTG).
end
Move Price Effective Date (PEFJ - param) to Date Expired search field on F4106 (BPEXDJ).
Move Transaction Unit of Measure (UOM - param) to Unit of Measure search field on F4106
(BPUOM).
3)Select a record from the Base Price Table (F4106) using the base search keys for as long
as the record falls within the following criteria:
a)The Price Effective Date (PEFJ) falls within the Effective (EFTJ) and Expiration
(EXDJ) dates on the F4106 record .
b) If Price By Grade/Potency (PRPO - param) ='1', F4106 record must fall within the
From and Thru potency range (FRMP & THRP - params)
c)If Price By Grade/Potency (PRPO - param) ='2', F4106 record must fall within the
From and Thru Grade range (FRGD & THGD - params).
d)If currency is turned on (CRYR ne 'N'), then look for a record with the Foreign
Currency Code (CRDC - param) and the Transaction Uom (UOM - param). If a record is not found, look for a
record with the same currency code and the Primary Uom (UOM1 - param). If a record is still not
found, look for a record with the Domestic Currency Code (CRCD - param) and the first uom (UOM - param).
Finally, if a record is still not found, attempt again with the domestic currency and the other uom
(UOM1 - param).
Performance consideration: The number of searches in step "d" can be reduced if the foreign
(CRDC) and domestic currency codes (CRCD) are identical as well as if UOM and UOM1 are identical. Also,
if currency is off (CRYR='N'), then all foreign currency code related searches can be ignored.
4)When a record is found, load the following output parameters to be passed back to ER:
UOM4 UnitofMeasureBasePrice=BPUOM
ICID ItemCustomerKeyID=BPICID
CRCD CurrencyCode=BPCRCD
ITM ShortItemNumber=BPITM
AN8 AddressNumber=BPAN8
7)If a price is found using the foreign currency code, the price is a foreign price and it
needs to be converted back to domestic.
FUP=BPUPRC
FCRD=BPACRD
if CRYR = 'Y'
UPRC=FUP * CRR
ACRD=FCRD * CRR
else
UPRC=FUP / CRR
ACRD=FCRD / CRR
If a price is found using the domestic currency code, the price is a domestic price and it
needs to be converted to foreign.
UPRC=BPUPRC
ACRD=BPACRD
if CRYR = 'Y'
FUP=UPRC / CRR
FCRD=ACRD / CRR
else
FUP=UPRC * CRR
FCRD=ACRD * CRR
If the Advanced Pricing flag is not 'Y' (ADVP!='Y')
Delete the current price from the work file (F40UI74)
end
Convert the price found to Pricing Unit of Measure.
AWCTID = lpds Computer ID
AWJOBS = lpds Job Number
AWXLIN = lpds Line Number F40UI70
AWOSEQ = 0
AWITM
AWAN8
AWICID
AWCRCD
AWUOM
AWUPRC
AWFUP
AWPROV = 1
AWAREV = AREV-parm
D4200070 - GetSalesBasePrice
Special Input Expected
CRCDBaseCurrencyCode If CRYR = N (Domestic)
UOMTransactionUOMEither UOM or UOM1 has to be passed in
UOM1PrimaryUOMEither UOM or UOM1 has to be passed in
PLEVPriceLevel
PRPOPriceByGradeOrPotencyIf = 1 - Searches using FromPotency (FRMP)
If = 2 - Searches using FromGrade (FRGD)
CRYRCurrencyConversionY, N, OR Z
CRRConversionFactorThis is the Currency Conversion Factor
PRGRItemPricingGroupIf Blank will use the PRGR from the F4102 RecordPtr
Else will use the one passed in
CPGPCustomerPricingGroupIf Blank will fetch the CPGR from F0301
given the AN8 field saved given the Mode
Else will use the one passed in
AREVAdjustment Revision LevelNumber indicating how many times the price has been changed.
EV02Advance Revision LevelIf equal to '1', advance the AREV by a factor of 1. (i.e. Add 1 to AREV)
UOM4Pricing Unit of MeasureUOM to place in the History Table F4074
CONVConvFactorTran_to_PricConversion factor between Transaction Unit of Measure (UOM) and Pricing Unit of Measure (UOM4)
CONVConvFactorPrim_to_PricConversion factor between Primary Unit of Measure (UOM1) and Pricing Unit of Measure (UOM4)
Special Output Returned
MCUBranch PlantIf PLEV > 1 this will be returned
LOCNLocation If PLEV > 2 this will be returned
UOM4BasePriceUOMThis is the uom that was retrieved from F4106
^
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
mnSoldToAddress | AN8 | MATH_NUMERIC | NONE | NONE |
A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or
| ||||
mnShipToAddress | SHAN | MATH_NUMERIC | NONE | NONE |
The address number of the location to which you want to ship this order. The address book provides default values for customer address,
| ||||
szBranchPlant | MCU | char | NONE | NONE |
An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit
| ||||
szLocation | LOCN | char | NONE | NONE |
The storage location from which goods will be moved. | ||||
szLotNumber | LOTN | char | NONE | NONE |
A number that identifies a lot or a serial number. A lot is a group of items with similar characteristics. | ||||
jdPriceEffectiveDate | PEFJ | JDEDATE | NONE | NONE |
The system uses the Price Effective Date to determine the base price and all advanced price adjustments. The value loaded in this date
| ||||
szBaseCurrencyCode | CRCD | char | NONE | NONE |
A code that identifies the currency of a transaction. | ||||
szTransactionUOM | UOM | char | NONE | NONE |
A user defined code (00/UM) that indicates the quantity in which to express an inventory item, for example, CS (case) or BX (box). | ||||
szPrimaryUOM | UOM1 | char | NONE | NONE |
A user defined code (00/UM) that identifies the unit of measure that the system uses to express the quantity of an item, for example, EA
| ||||
cPriceLevel | PLEV | char | NONE | NONE |
A code that indicates whether the system maintains standard sales prices for an item, different sales prices for each branch/plant, or
| ||||
cPriceByGradeOrPotency | PRPO | char | NONE | NONE |
A user defined code (41/05) that groups several items that contain the same requirements for the Stock Valuation system. Valuation
| ||||
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. | ||||
cCurrencyConversion | CRYR | char | NONE | NONE |
A code that specifies whether to use multi-currency accounting, and the method of multi-currency accounting to use:
Codes are:
N Do not
| ||||
mnConversionFactor | CRR | MATH_NUMERIC | NONE | NONE |
A number (exchange rate) that a foreign currency amount is multiplied by to calculate a domestic currency amount.
The number in this field
| ||||
mnFromPotency | FRMP | MATH_NUMERIC | NONE | NONE |
A number that indicates the minimum potency or percentage of active ingredients acceptable for an item.
The system displays a warning
| ||||
mnThruPotency | THRP | MATH_NUMERIC | NONE | NONE |
A number that indicates the maximum potency or percentage of active ingredients that is acceptable for an item.
The system displays a
| ||||
szFromGrade | FRGD | char | NONE | NONE |
A user defined code (40/LG) that indicates the minimum grade that is acceptable for an item.
The system displays a warning message if
| ||||
szThruGrade | THGD | char | NONE | NONE |
A user defined code (40/LG) that indicates the maximum grade that is acceptable for an item.
The system displays a warning message if
| ||||
mnCreditPrice | ACRD | MATH_NUMERIC | NONE | NONE |
Use this field to enter credit orders in the Sales Order Management system. To enter a credit order, use a line type for which the Reverse
| ||||
szUOMOfBasePrice | UOM4 | char | NONE | NONE |
Special Input Expected
| ||||
szItemPricingGroup | 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
| ||||
szCustomerPricingGroup | 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
| ||||
cErrorCode | ERRC | char | NONE | NONE |
This error code indicates if any errors occurred during the creation of the Trip Document Detail (F4914) records by the Delivery Document
| ||||
cCheckPriceAndAvailability | ERRC | char | NONE | NONE |
This error code indicates if any errors occurred during the creation of the Trip Document Detail (F4914) records by the Delivery Document
| ||||
idF4102FilePtr | GENLNG | ID | NONE | NONE |
General purpose ID variable. | ||||
szCustomerCurrencyCode | CRDC | char | NONE | NONE |
A code that identifies the domestic (base) currency of the company on a transaction. | ||||
mnForeignCreditPrice | ACRD | MATH_NUMERIC | NONE | NONE |
Use this field to enter credit orders in the Sales Order Management system. To enter a credit order, use a line type for which the Reverse
| ||||
mnAddressNumber | AN8 | MATH_NUMERIC | NONE | NONE |
A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or
| ||||
mnShortItemNumber | ITM | MATH_NUMERIC | NONE | NONE |
An inventory item number. The system provides three separate item numbers plus an extensive cross-reference capability to other item
| ||||
szCurrencyCode | CRCD | char | NONE | NONE |
A code that identifies the currency of a transaction. | ||||
cSuppressErrorMsg | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
szErrorMsgID | 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
| ||||
szComputerID | CTID | char | NONE | NONE |
mnLineNumberF40UI74 | XLIN | MATH_NUMERIC | NONE | NONE |
Line number. | ||||
mnJobNumber | JOBS | MATH_NUMERIC | NONE | NONE |
The job number (work station ID) which executed the particular job. | ||||
mnAdjustmentRevLevel | AREV | MATH_NUMERIC | NONE | NONE |
This field maintains the current revision level of Advanced Pricing adjustments awarded within a sales order. Adjustments associated with
| ||||
cAdvanceRevLevel | EV02 | char | NONE | NONE |
Special Input Expected
| ||||
mnOrderNumber | DOCO | MATH_NUMERIC | NONE | NONE |
A number that identifies an original document. This document can be a voucher, a sales order, an invoice, unapplied cash, a journal entry,
| ||||
szOrderType | DCTO | char | NONE | NONE |
A user defined code (00/DT) that identifies the type of document. This code also indicates the origin of the transaction. J.D. Edwards has
| ||||
szKeyCompany | KCOO | char | NONE | NONE |
A number that, along with order number and order type, uniquely identifies an order document (such as a purchase order, a contract, a
| ||||
mnOrderLineNumber | 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
| ||||
szPricingUnitOfMeasure | UOM4 | char | NONE | NONE |
A user defined code (00/UM) that indicates the unit of measure in which you usually price the item. | ||||
mnTranToPricingConvFctr | CONV | MATH_NUMERIC | NONE | NONE |
The factor that the system uses to convert one unit of measure to another unit of measure. | ||||
mnPrimToPricingConvFctr | CONV | MATH_NUMERIC | NONE | NONE |
The factor that the system uses to convert one unit of measure to another unit of measure. | ||||
cSuppressF40UI74Write | EV03 | char | NONE | NONE |
A radio button that specifies the level at which trace/track result is to be displayed. Select the Detail to display all transactions except IB, IX,
| ||||
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
| ||||
mnParentAddressNo | PA8 | MATH_NUMERIC | OPT | NONE |
The address book number of the parent company. The system uses this number to associate a particular address with a parent company
| ||||
cReverseSignYN | RSGN | char | OPT | NONE |
A code that indicates whether the system reverses the sign of the quantity in the line. This code is used to allow easy entry of credit
| ||||
mnOriginalQty | SOQS | MATH_NUMERIC | OPT | NONE |
The number of units committed for shipment in Sales Order Entry, using either the entered or the primary unit of measure defined for this
| ||||
mnProcessID | PEID | MATH_NUMERIC | OPT | NONE |
A code that identifies the Inter-Process Communication ID. | ||||
mnTransactionID | TCID | MATH_NUMERIC | OPT | NONE |
mnItemGroupKeyID | IGID | MATH_NUMERIC | OPT | NONE |
A number that identifies an item group or an order detail pricing group. Each pricing group is comprised of either item category codes (for
| ||||
mnCustomerGroupKeyID | CGID | MATH_NUMERIC | OPT | NONE |
A number that identifies a customer pricing group. Each pricing group comprises customer category codes. For every unique combination
| ||||
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
| ||||
cUsePricingUOMForPreferences | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
szSecondaryUOM | UOM2 | char | OPT | NONE |
A user defined code (00/UM) that indicates an alternate unit of measure for the item. | ||||
cByPassAddnlSearchUOM | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. |
B4200800 F40073 Get Pricing Preference Hierarchy |
F4102 Item Branch File | ||||
F4106 Item Base Price File |