1.Functional Description
1.1Purpose
This program compares the CSID assigned to the configured item to existing inventory balance records
in F41021. When an item balance record is found that has enough available inventory to satisfy the
entire line item quantity, that item balance record is selected, and returned to the calling function.
The commitment method rules from the configured item's branch record will determine the selection
process. The three methods are:
Commitment Method 1- Commit to the largest available lot
Commitment Method 2 - Commit by lot number (ascending order)
Commitment Method 3- Commit to the oldest lot using lot expiration date
In this designed it is assumed that sales line splitting will not be supported.
1.2Setup Notes and Prerequisites
1.3Special Logic
None.
2.Technical Specifications
2.4Processing
Fetch the Item/Branch record from F41026 to get the Commitment Method
Select from the Item Balance File (F41021) all records that match the CSID of the configured item.
Commitment Method 1, Sort descending by Quantity On Hand
Commitment Method 2, Sort ascending by Lot Number
Commitment Method 3, Sort ascending by Lot Expiration Date
Fetch the first item balance record from the selection
While the Item Balance fetch is successful Do
Calculate the available quantity (B3100380)
If the available quantity is enough to satisfy the order quantity
Copy the record ID into the event variables
Exit the Loop; set the fetch success variable to "passed"
End If
End While
If the fetch was successful
Copy the lot and location information to the data structure
Set a line type of "S" in the data structure
Else
Set a line type of "W" in the data structure to cause a work order to be generated
End If
D3201110 - Configurator Batch Inventory Selection
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
cSuppressErrors | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
szErrorMessageID | 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
| ||||
mnItemNumberShort | 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
| ||||
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
| ||||
mnConfiguredStringID | CSID | MATH_NUMERIC | NONE | NONE |
A numerical value that represents a unique configured string. | ||||
mnQuantityRequired | QNTY | MATH_NUMERIC | NONE | NONE |
The number of units that the system applies to the transaction. | ||||
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
| ||||
mnQuantityToApply | QNTY | MATH_NUMERIC | NONE | NONE |
The number of units that the system applies to the transaction. | ||||
szLocation | LOCN | char | NONE | NONE |
The storage location from which goods will be moved. | ||||
szLot | LOT | char | NONE | NONE |
A lot is a quantity of items that you want to group together because they have similar characteristics. | ||||
cAllowPartials | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
szStockingLineType | 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
| ||||
szTransactionUnitOfMeasure | 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). | ||||
jdShipDate | PPDJ | JDEDATE | NONE | NONE |
The promised shipment date for a sales order. This date represents the day that the item can be shipped from the warehouse. |
None |
None |