Functional Description
Purpose
To check F4104 for Substitute or Complementary Items and optionally
 Return Quantities available
 Fill memory cache with Item details
Setup Notes and Prerequisites
None.
Special Logic
None.
Technical Specification
Related Tables
 Table Table Description
 F4104Item Cross Reference Table
 F4013Order Processing Cross Reference
Related Business Functions
 Source NameFunction Name
 B4200140F0301 Get Ship To Billing Instructions
 B5100003F0006 Check Business Unit Existence
 B4101040F4101 Get Item Master Information
 X0005Get UDC
 B4000260F40205 Get Line Type Constants
 B4000750F4102 Get Item Branch Grade Potency
 B3100380F41021 Calculate Quantity Available
 X4101Get Item Master Row
 B0000045Convert Numeric to String
 B4000520F41002 Get Item UOM Conversion
 B4100380Memory Cache, Load Multiple Return
Processing 
 Check whether Substitution is allowed for the Sold To Address Number.
Substitutes Allowed and the Item restrictions flags.
If Substitutions are not allowed, then
set Error Code to '1'
set NumberofCacheEntries to zero and
set BackOrderQuantity to zero
 If there are ant Item Restrictions for the Customer, then Open the Order Processing Cross Reference 
File, F4013
 Validate Branch/Plant MCU using Business Function  B5100003 F0006 Check Business Unit Existence
If an error is detected, then
set Error Code to '1'
set NumberofCacheEntries to zero and
set BackOrderQuantity to zero
 Retrieve Item Master Information for the Item Number passed, using Business Function  B4001040
If an error is detected, then
set Error Code to '1'
set NumberofCacheEntries to zero and
set BackOrderQuantity to zero
 Validate Line Type using Business Function B4000260 F40205 Get Line Type Constants and retrieve 
Inventory Interface Flag LFIVI.
 If processing Complementary Items, then retrieve Item Branch Grade Potency using Business Function 
B4000750, and perform UOM Conversion on mnQuantity to Primary Unit of Measure using Business Function 
B4000520 F41002 Get Item UOM Conversion
 Retrieve Items from F4104 via Table I/O
 Bypass this Item if it is not within the appropriate Date Range
(IVEXDJ) inclusive. Zero dates will not get checked for validity.
 Validate the Customer Item Number from F4104, using Business Function X4101 F4101 Get Item Master 
Row
 Retrieve Item Branch Grade Potency using Business Function B4000750.
 If a record exists and the Item Restrictions for the Customer is set to exclude ( 'E' ) then 
ignore the record
 If a record does not exist and the Item Restrictions for the Customer is set to include ( 'I' 
) then ignore the record
 Perform UOM Conversion if Transaction UOM is different to Primary UOM
 Now we have a Quantity Available to work with 
 If we are retrieving 'AVAILABLE' Items, then only register this Item if the Available Quantity is 
greater than zero.
 Increment NumberofCacheEntries by 1.
 If ModusOperandi is not '0' ( Asynch ) then write details to memory cache.
 If ModusOperandi is '2' ( Batch ) and the Available Quantity for the Item is enough to satisfy the 
QuantityBackordered then store the location of this cache record. CacheRRN = NumberofCacheEntries, and 
use the QunatityBackordered to write to the memory cache.
 Retrieve next record from F4104
 When all relevant records have been read from F4104 then close the Order Processing Cross Reference 
file if it had been opened earlier.
^
D4201100 - F4104 Get XRef Items
Special Input Expected
Parameters:
Data ItemData Structure DescriptionI/OReq'd     Notes
MODE      cModusOperandi             I  Y     Mode of Processing
                                                           Three possible values :
                                                           0 = Asynch Mode
                                                           1 = Inline Mode
                                                           2 = Batch Mode
AN8      mnAddressNumberSoldTo       I  Y     Sold To Address                            
                                                                                           Number
MCU      szBranchPlant             I  Y     Branch / Plant
XRT      szSubstXRefType             I  Y     Substitutes Xref Type
UOM      szUnitOfMeasureAsInput       I  Y     Unit of Measure as
                                                           Input
UOM4      szUnitOfMeasurePricing       I  Y     Pricing Unit of
                                                           Measure
QTY      mnQuantity                  I/O  Y     Quantity to Substitute
                                                            / Replace
TRDJ      jdDateTransactionJulian       I  Y     Transaction Date
RPL      cReplacementYN             I  Y     Replacement. Two
                                                           possible values :
                                                           ' ' = Substitution
                                                           '1' = Replacement
 
SHAN      mnAddressNumberShipTo       I  Y     Ship To Address Number
SO05      cSubstituteIndicator       I  Y     Substitute Indicator.
                                                           Two possible values :
                                                           ' ' = Complementary
                                                                 Items
                                                           '1' = Substitute Items
ITM      mnIdentifierShortItem       I  Y      Item Number
ITM      mnIdentifierShortItem       I  Y     IdentifierShortItem
EV09      cAllOrAvailable             I  Y     EverestEventPoint9
LNTY      szLineType                   I  Y     LineType
Special Output Returned
Parameters:
Data ItemData Structure DescriptionI/OReq'd     Notes
RRN      mnNumberofCacheEntries       O     Number of Cache
                                                           Entries
QTY      mnQuantity                  I/O  Y     Quantity to Substitute
                                                            / Replace
ERRC      cErrorFlag                   O     Error
ERNO      szErrorMsgNumber             O     Error Message
RRN      mnCacheRRN                   O               RelativeRecord-
                                                           NumberOverrides
^
| Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both | 
|---|---|---|---|---|
| cModusOperandi | MODE | char | NONE | NONE | 
The processing mode used in Purchase Order Consolidator to signify when specific orders are being processed.  | ||||
| mnNumberofCacheEntries | RRN | MATH_NUMERIC | NONE | NONE | 
The relative record number of a record in a file.  | ||||
| mnAddressNumberSoldTo | 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 
  | ||||
| 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 
  | ||||
| szXRefType | XRT | char | NONE | NONE | 
A user defined code (41/DT) that identifies the type of cross-reference set up for this customer. Examples of cross-reference types include:
   
  | ||||
| szUnitOfMeasureAsInput | 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).  | ||||
| szUnitOfMeasurePricing | UOM4 | char | NONE | NONE | 
A user defined code (00/UM) that indicates the unit of measure in which you usually price the item.  | ||||
| mnQuantity | QTY | MATH_NUMERIC | NONE | NONE | 
The number of units associated with an asset.  | ||||
| jdDateTransactionJulian | TRDJ | JDEDATE | NONE | NONE | 
The date that an order was entered into the system. This date determines which effective level the system uses for inventory pricing.  | ||||
| szErrorMsgNumber | ERNO | char | NONE | NONE | 
The error number assigned by the JDE edit/update programs designating the exact error that occured.  | ||||
| cErrorFlag | 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 
  | ||||
| cReplacement | RPL | char | NONE | NONE | 
A code that indicates whether you want to replace the items that you are returning. Valid values are:
   Y Replace the items. The system 
  | ||||
| mnAddressNumberShipTo | 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, 
  | ||||
| cSubstituteIdicator | SO05 | char | NONE | NONE | 
  | ||||
| mnIdentifierShortItem | 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 
  | ||||
| mnCacheRRN | RRN | MATH_NUMERIC | NONE | NONE | 
The relative record number of a record in a file.  | ||||
| cAllOrAvailable | EV09 | char | NONE | NONE | 
An option that specifies the type of processing for an event.  | ||||
| szLineType | LNTY | char | NONE | NONE | 
A code that controls how the system processes lines on a transaction. It controls the systems with which the transaction interfaces, such as 
  | ||||
| cSubstitutesAllowedYN | SBAL | char | OPT | NONE | 
Code associated with each customer specifying whether that customer will accept substitute items.  Enter N to disallow or Y to allow 
  | ||||
| cItemRestrictions | EDF2 | char | OPT | NONE | 
A code that designates whether restrictions have been placed on the sale of items to this customer.
Valid values are:
   Blank No restrictions.
 
  | ||||
| szUDCRecordType | RT | char | OPT | NONE | 
A code that identifies the table that contains user defined codes. The table is also referred to as a UDC type.  | ||||
| cBasePriceIndicator | BPIND | char | OPT | NONE | 
A user defined code that indicates which base price to use for related items. For example this code can specify using the price for the 
  | ||||
| cAdjustmentIndicator | ADIND | char | OPT | NONE | 
A user defined code (42/IA) that indicates which price adjustment to use for related items. These adjustments can include the original item's 
  | ||||
| mnAdjustmentRevisionLevel | AREV | MATH_NUMERIC | OPT | NONE | 
This field maintains the current revision level of Advanced Pricing adjustments awarded within a sales order. Adjustments associated with 
  | ||||
| cPriceOverrideCode | PROV | char | OPT | NONE | 
A value established by the sales order entry program whenever a unit or extended price is entered into an order line item, overriding the 
  | ||||
| None | 
| None |