F4104GetXRefItems

F4104 Get XRef Items

Minor Business Rule

Object Name: N4201100

Parent DLL: CDIST

Location: Client/Server

Language: NER




Functional Description


Purpose


To check F4104 for Substitute or Complementary Items and optionally

• Return indication that some exist or not
• 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.

Use Business Function B4200140 F0301 Get Ship To Billing Instructions to retrieve the 
Substitutes Allowed and the Item restrictions flags.


If Substitutions are not allowed, then

set ErrorMsgNumber to '3405'
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 ErrorMsgNumber to '0726'
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

• Validate Cross Reference Type using Business Function X0005 Get UDC

If an error is detected, then

set ErrorMsgNumber to '0027'
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 defined specifically for another Customer
• Bypass this Item if it is not within the appropriate Date Range
The Order Date ( TRDJ ) must be between the Effective ( IVEFTJ) and the Expired Date 
(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.

• Bypass this Item if the Customer is not entitled to buy it.
• Try to retrieve a record for the Item from the Order Processing Cross Reference File, F4103.
• 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 Availability Check using Business Function B3100380 F41021 Calculate Quantity Available.

• 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.





^

Data Structure

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 NameData ItemData TypeReq/OptI/O/Both
cModusOperandiMODEcharNONENONE

The processing mode used in Purchase Order Consolidator to signify when specific orders are being processed.

mnNumberofCacheEntriesRRNMATH_NUMERICNONENONE

The relative record number of a record in a file.

mnAddressNumberSoldToAN8MATH_NUMERICNONENONE

A number that identifies an entry in the Address Book system, such as employee, applicant, participant, customer, supplier, tenant, or 
location.

szBranchPlantMCUcharNONENONE

An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit 
might be a warehouse location, job, project, work center, branch, or plant. You can assign a business unit to a document, entity, or person for 
purposes of responsibility reporting. For example, the system provides reports of open accounts payable and accounts receivable by 
business unit to track equipment by responsible department. Business unit security might prevent you from viewing information about business units 
for which you have no authority.

szXRefTypeXRTcharNONENONE

A user defined code (41/DT) that identifies the type of cross-reference set up for this customer. Examples of cross-reference types include:    
 o Substitutes     o Replacements     o Bar codes     o Customer item numbers     o Supplier item numbers 

szUnitOfMeasureAsInputUOMcharNONENONE

A user defined code (00/UM) that indicates the quantity in which to express an inventory item, for example, CS (case) or BX (box).

szUnitOfMeasurePricingUOM4charNONENONE

A user defined code (00/UM) that indicates the unit of measure in which you usually price the item.

mnQuantityQTYMATH_NUMERICNONENONE

The number of units associated with an asset.

jdDateTransactionJulianTRDJJDEDATENONENONE

The date that an order was entered into the system. This date determines which effective level the system uses for inventory pricing.

szErrorMsgNumberERNOcharNONENONE

The error number assigned by the JDE edit/update programs designating the exact error that occured.

cErrorFlagERRCcharNONENONE

This error code indicates if any errors occurred during the creation of the Trip Document Detail (F4914) records by the Delivery Document 
Set Server program (XT4914).

cReplacementRPLcharNONENONE

A code that indicates whether you want to replace the items that you are returning. Valid values are:    Y Replace the items. The system 
credits the purchase order for the items you are returning and creates a new detail line for the replacement items. The Replacement Information 
window appears after you disposition the items so that you can enter information for the new order detail line.    Blank Do not replace the 
items. The system credits the purchase order for the items you are returning.

mnAddressNumberShipToSHANMATH_NUMERICNONENONE

The address number of the location to which you want to ship this order. The address book provides default values for customer address, 
including street, city, state, zip code, and country.

cSubstituteIdicatorSO05charNONENONE




    Substitute Indicator. 

    Two possible values :

      ' ' = Complementary Items

      '1' = Substitute Items



^

mnIdentifierShortItemITMMATH_NUMERICNONENONE

An inventory item number. The system provides three separate item numbers plus an extensive cross-reference capability to other item 
numbers (see data item XRT) to accommodate substitute item numbers, replacements, bar codes, customer numbers, supplier numbers, and 
so forth. The item numbers are as follows:   o Item Number (short) - An eight-digit, computer-assigned item number     o 2nd Item Number - The 
25-digit, free-form, user defined alphanumeric item number     o 3rd Item Number - Another 25-digit, free-form, user defined alphanumeric item 
number

mnCacheRRNRRNMATH_NUMERICNONENONE

The relative record number of a record in a file.

cAllOrAvailableEV09charNONENONE

An option that specifies the type of processing for an event.

szLineTypeLNTYcharNONENONE

A code that controls how the system processes lines on a transaction. It controls the systems with which the transaction interfaces, such as 
General Ledger, Job Cost, Accounts Payable, Accounts Receivable, and Inventory Management. It also specifies the conditions under 
which a line prints on reports, and it is included in calculations. Codes include the following: S Stock item   J Job cost   N Nonstock item   F Freight  
T Text information   M Miscellaneous charges and credits   W Work order

cSubstitutesAllowedYNSBALcharOPTNONE

Code associated with each customer specifying whether that customer will accept substitute items.  Enter N to disallow or Y to allow 
substitutions. The system will interpret a blank value as a Y.

cItemRestrictionsEDF2charOPTNONE

A code that designates whether restrictions have been placed on the sale of items to this customer. Valid values are:    Blank No restrictions.  
  I      A customer can be sold only those items set up on the Item Restrictions screen.    E      A customer cannot be sold the items set up on 
the Item Restrictions screen.

szUDCRecordTypeRTcharOPTNONE

A code that identifies the table that contains user defined codes. The table is also referred to as a UDC type.

cBasePriceIndicatorBPINDcharOPTNONE

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 
original item, the substitute item, or the best price, depending on the item's value. If this field is blank, the system uses the code specified in the 
Pricing for Substitute Items option on the Cross Ref tab in the Sales Order Entry processing options (P4210). 

cAdjustmentIndicatorADINDcharOPTNONE

A user defined code (42/IA) that indicates which price adjustment to use for related items. These adjustments can include the original item's 
adjustment, a substitute item's adjustment, the best adjustment, or no adjustment, depending on the item's value. If this field is blank, the 
system uses the value specified in the Pricing for Substitute Items processing option on the Cross Ref tab in the Sales Order Entry (P4210) 
processing options.

mnAdjustmentRevisionLevelAREVMATH_NUMERICOPTNONE

This field maintains the current revision level of Advanced Pricing adjustments awarded within a sales order. Adjustments associated with 
a revision level below the current level are considered obsolete.

cPriceOverrideCodePROVcharOPTNONE

A value established by the sales order entry program whenever a unit or extended price is entered into an order line item, overriding the 
price calculated by the program.

Related Functions

None

Related Tables

None