ConfigBatchInventorySelect

Configurator Batch Inventory Selection

Minor Business Rule

Object Name: N3201110

Parent DLL: CMFG

Location: Client/Server

Language: NER

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




Data Structure

D3201110 - Configurator Batch Inventory Selection

Parameter NameData ItemData TypeReq/OptI/O/Both
cSuppressErrorsEV01charNONENONE

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

szErrorMessageIDDTAIcharNONENONE

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 
special characters such as %, &, or +. You create new data items using system codes 55-59. You cannot change the alias.

mnItemNumberShortITMMATH_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

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.

mnConfiguredStringIDCSIDMATH_NUMERICNONENONE

A numerical value that represents a unique configured string.

mnQuantityRequiredQNTYMATH_NUMERICNONENONE

The number of units that the system applies to the transaction.

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

mnQuantityToApplyQNTYMATH_NUMERICNONENONE

The number of units that the system applies to the transaction.

szLocationLOCNcharNONENONE

The storage location from which goods will be moved.

szLotLOTcharNONENONE

A lot is a quantity of items that you want to group together because they have similar characteristics.

cAllowPartialsEV01charNONENONE

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

szStockingLineTypeLNTYcharNONENONE

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

szTransactionUnitOfMeasureUOMcharNONENONE

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

jdShipDatePPDJJDEDATENONENONE

The promised shipment date for a sales order. This date represents the day that the item can be shipped from the warehouse.

Related Functions

None

Related Tables

None