ConfiguratorBatchProcessing

Configurator Batch Processing

Major Business Rule

Object Name: N3201090

Parent DLL: CMFG

Location: Client/Server

Language: NER

1.Functional Description

1.1Purpose

This program replaces the data entry process for the configurator.  It is called from Sales Order Batch Transaction Processor (R4210Z) once for each 

configured parent.  It creates cache records that are later used by Sales EndDoc and the Write Cofigurator Files at End Doc business functions to 

create transaction file records.


For each configured component, the segments are loaded from F3211, and derived calculation rules are processed.  At this point, the segment values 

are tested against the Cross Segment Editing Rules.


In the event that errors are produced (indicating that the segments and/or rules have changed since the last client update), Agent Message Center 

entries (PPAT) are sent.  


Cross Segment Editing can produce "optional" errors, which are treated as warnings.  These will be ignored, but other errors  must terminate 

processing.  If the processing is terminated, the sales transaction is rejected and held for later review.



1.2Setup Notes and Prerequisites


1.3Special Logic



2.Technical Specifications


2.1Parameters:

Data Item Data Structure DescriptionI/ORequiredNotes MCU szBranchConfigured Item BranchIYes DOCO mnOrderNumber_BatchSales Order 

NumberIYes DOCO mnOrderNumber_NewSales Order Number NewIYes DCTO szOrderType_BatchSales Order Document TypeIYes DCTO 

szOrderType_NewSales Order Document Type NewIYes KCOO szOrderCompany_BatchSales Order Key CompanyIYes KCOO szOrderCompany_NewSales Order 

Key Company NewIYes LNID mnParentLine_BatchSales Order Line of the ParentIYes LNID mnParentLine_NewSales Order Line of the Parent 

NewIYes UORG mnUnitsTransactionQtySales Order Quantity OrderedIYes SOCN mnUnitsCancelledSales Order Quantity CancelledI UOM 

szUnitOfMeasureAsInputSales Transaction Unit of MeasureIYes LOCN szLocInventory LocationO AN8 mnAddressNumberSold To Address NumberIYes LOTN 

szLotInventory Lot NumberO LNTY szLineTypeParent Item Line TypeI/OYesChanges for Inventory AEXP mnExtendedPriceDomestic Extended PriceI/O ECST 

mnExtendedCostDomestic Extended CostI/O CRYR CurrencyConversionModeSales Order Conversion Mode YNARIYes CRCD szCurrencyCodeFromForeign 

Currency CodeIYes DRQJ jdDateRequestedSales Order Request DateIYes PDDJ jdPromisedDeliveryDateSales Order Promise DateIYes JOBN 

szWorkStationIDWorkstation ID (Audit Info)I JOBS JobNumberACache Control NumberIYesNon-Zero VERS szSalesOrderEntryVersionSales Order Entry 

Version for EditLineIYes EV03 mnLastLineNumberAssignedLast LNID assigned by EditLineI/OYes EV01 cSuppressBatchErrorsSuppress Agent 

Message Center ErrorsI DTAI szErrorMessageIDReturned Error MessageO ERRC cErrorCodeSingle Character Error CodeO OTOT 

AmountOrderGrossRunning Order TotalI/O FAP ForeignOrderGrossRunning Order Total in ForeignI/O PMTH KitPricingMethodDetermines Rollup MethodIYes UORG 

mnUnitsInventoryAppliedInventory Quantity AppliedO GENLNG idPPAT_MsgPtrPointer to Agent MessagesIYes FEA ForeignExtendedPriceParent Line 

Foreign Extended PriceI/O FEC ForeignExtendedCostParent Line Foreign Extended CostI/O CTID szUserID_ErrorMsgAgent Message Center User 

IDIYes CTID szComputerIDAgent Message Center Computer IDIYes EV01 cSplitInventoryModeEnables Inventory SplitI'1' to Enable  KIT  

mnItemNumberShortKitParent Short Item NumberI LNIX  mnLastLineNumberAssignedLast Line Number AssignedI RSDJ  jdSchedulePickDateScheduled Pick Up 

DateI PEFJ  jdDatePriceEffectiveDatePrice Effective DateI MATH02  mnWKRelatedOrderProcessI SY  szSystemCodeSystem CodeIYes


2.2Related Tables 

Table Table Description F3211Z1Configurator Batch Segments

2.3Related Business Functions

Source NameFunction Name N3201500ConfigLoadUnloadSegmentsCache N3201080Config Batch Error Messages N3201110Batch Inventory 

Selection

2.4Processing 


Set variables to defaults

Call N3201410 to get Configuration ID to start with 

If ConfigID > 0

   Call B3201450 to get NewCofigurationID

   If NewCofigurationID > 0

      Call N3201060 to load Segemnt Value Cache (B3200350)

         If BF Error Message == BLANK

            cOuterWhileLoopDone = 0

            While cOuterWhileLoopDone == 0 

               Call Evaluate and Process AIR (B3200460) to evaluate and process C-Rules

(Process derived calculations, and create Configured Components Cache for the next level)
If BF Error Message == BLANK

   Call Evaluate CSE Rules (B3200440)

   If  CSETest failed

      Load BF Error Message

   End If

   If  cOuterWhileLoopDone == 0

       Call F3293 Process AIR (N3200670) for remaining Assembly Inclusion Rules

       If  cOuterWhileLoopDone == 0

          If cCacheActionCode == 1

Call B3200370 to read first record

          End If

          CCacheActionCode = 6

          Call B3200370 to read next record

       End If

    End If

End If

           End While
           Close cursor for B3200370

         End If

   End If

End If

If BF BF Error Message <= BLANK And EVT Error Message <= BLANK

   Call B3200600 (Mode 1) to create CFGSIDs and update B3200370 Cache

   Call B3201650 to roll up prices and cost

   Call B3200790 to load B3201470 Cache and to call Edit Line

Else

   Call Configurator Format Batch Error Message  (Store & Forward) N3201080

End If




3.2 Where Used: APPs/UBEs/NERs/BSFNs

ApplicationApplication Name R4210Z R40211Z

Data Structure

D3201090 - Configurator Batch Processing

Parameter NameData ItemData TypeReq/OptI/O/Both
mnItemNumberShortKitKITMATH_NUMERICNONENONE

The system provides for three separate item numbers.    1.   Item Number (short) - An eight-digit, computer assigned, completely 
non-significant item number.    2.   2nd Item Number - The 25-digit, free form, user defined alphanumeric item number.    3.   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.

mnSalesOrderNumber_BatchDOCOMATH_NUMERICNONENONE

A number that identifies an original document. This document can be a voucher, a sales order, an invoice, unapplied cash, a journal entry, 
and so on.

mnSalesOrderNumber_NewDOCOMATH_NUMERICNONENONE

A number that identifies an original document. This document can be a voucher, a sales order, an invoice, unapplied cash, a journal entry, 
and so on.

szOrderType_BatchDCTOcharNONENONE

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 
reserved document type codes for vouchers, invoices, receipts, and time sheets, which create automatic offset entries during the post 
program. (These entries are not self-balancing when you originally enter them.) The following document types are defined by J.D. Edwards and 
should not be changed: P Accounts Payable documents   R Accounts Receivable documents   T Payroll documents   I Inventory documents  
O Purchase Order Processing documents   J General Accounting/Joint Interest Billing documents   S Sales Order Processing documents

szOrderType_NewDCTOcharNONENONE

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 
reserved document type codes for vouchers, invoices, receipts, and time sheets, which create automatic offset entries during the post 
program. (These entries are not self-balancing when you originally enter them.) The following document types are defined by J.D. Edwards and 
should not be changed: P Accounts Payable documents   R Accounts Receivable documents   T Payroll documents   I Inventory documents  
O Purchase Order Processing documents   J General Accounting/Joint Interest Billing documents   S Sales Order Processing documents

szCompanyKeyOrder_BatchKCOOcharNONENONE

A number that, along with order number and order type, uniquely identifies an order document (such as a purchase order, a contract, a 
sales order, and so on). If you use the Next Numbers by Company/Fiscal Year facility, the Automatic Next Numbers program (X0010) uses the 
order company to retrieve the correct next number for that company. If two or more order documents have the same order number and order 
type, the order company lets you locate the desired document. If you use the regular Next Numbers facility, the order company is not used to 
assign a next number. In this case, you probably would not use the order company to locate the document.

szCompanyKeyOrder_NewKCOOcharNONENONE

A number that, along with order number and order type, uniquely identifies an order document (such as a purchase order, a contract, a 
sales order, and so on). If you use the Next Numbers by Company/Fiscal Year facility, the Automatic Next Numbers program (X0010) uses the 
order company to retrieve the correct next number for that company. If two or more order documents have the same order number and order 
type, the order company lets you locate the desired document. If you use the regular Next Numbers facility, the order company is not used to 
assign a next number. In this case, you probably would not use the order company to locate the document.

mnParentLineNumber_BatchLNIDMATH_NUMERICNONENONE

A number that identifies multiple occurrences, such as line numbers on a purchase order or other document. Generally, the system assigns 
this number,but in some cases you can override it.

mnParentLineNumber_NewLNIDMATH_NUMERICNONENONE

A number that identifies multiple occurrences, such as line numbers on a purchase order or other document. Generally, the system assigns 
this number,but in some cases you can override it.

mnUnitsTransactionQtyUORGMATH_NUMERICNONENONE

The quantity of units affected by this transaction.

mnUnitsQuantityCanceledSOCNMATH_NUMERICNONENONE

The number of units canceled in Sales Order or Work Order Processing, using either the entered or the primary unit of measure defined for 
this item. In manufacturing, this can also be the number of units scrapped to date.

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

szLocationLOCNcharNONENONE

The storage location from which goods will be moved.

mnAddressNumberAN8MATH_NUMERICNONENONE

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

szLotLOTNcharNONENONE

A number that identifies a lot or a serial number. A lot is a group of items with similar characteristics.

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

mnAmountExtendedPriceAEXPMATH_NUMERICNONENONE

The number of units multiplied by the unit price.

mnAmountExtendedCostECSTMATH_NUMERICNONENONE

For accounts receivable and accounts payable, the invoice (gross) amount. For sales orders and purchase orders, the unit cost times the 
number of units.

cCurrencyConverYNARCRYRcharNONENONE

A code that specifies whether to use multi-currency accounting, and the method of multi-currency accounting to use: Codes are:    N Do not 
use multi-currency accounting. Use if you enter transactions in only one currency for all companies. The multi-currency fields will not appear 
on forms. The system supplies a value of N if you do not enter a value.    Y Activate multi-currency accounting and use multipliers to convert 
currency. The system multiplies the foreign amount by the exchange rate to calculate the domestic amount.    Z Activate multi-currency 
accounting and use divisors to convert currency. The system divides the foreign amount by the exchange rate to calculate the domestic amount.

szCurrencyCodeFromCRCDcharNONENONE

A code that identifies the currency of a transaction. 

jdDateRequestedJulianDRQJJDEDATENONENONE

The date that an item is scheduled to arrive or that an action is scheduled for completion.

jdPromisedDeliveryDatePDDJJDEDATENONENONE

The promised shipment date for either a sales order or purchase order. The Supply and Demand Programs use this date to calculate 
Available to Promise information. This value can be automatically calculated during sales order entry. This date represents the day that the item 
can be shipped from the warehouse.

szWorkStationIdJOBNcharNONENONE

The code that identifies the work station ID that executed a particular job.

mnJobnumberAJOBSMATH_NUMERICNONENONE

The job number (work station ID) which executed the particular job.

szSalesOrderEntryVersionVERScharNONENONE

A user-defined set of specifications that control how applications and reports run. You use versions to group and save a set of user-defined 
processing option values and data selection and sequencing options. Interactive versions are associated with applications (usually as a 
menu selection). Batch versions are associated with batch jobs or reports. To run a batch process, you must choose a version.

cUseCacheInEditLineEV03charNONENONE

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, 
and IZ types.  Or, select Derivative Lots Only to display only those transactions that may have created new derivative lot. 

mnLastLineNumberAssignedLNIXMATH_NUMERICNONENONE

cSuppressBatchErrorMessagesEV01charNONENONE

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.

cErrorCodeERRCcharNONENONE

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

mnAmountOrderGrossOTOTMATH_NUMERICNONENONE

The total value of all lines on the order that have not been shipped and billed to the customer.

mnAmountForeignOrderGrossFAPMATH_NUMERICNONENONE

The unpaid foreign amount of a transaction.

cMethodPriceCalculationPMTHcharNONENONE

A code that determines how the system calculates the price for kit items or configured items. Valid values are: Blank Use for items that are 
neither kit items nor configured items. 1 The system accumulates the base prices of components with the configured price adjustments, and 
then discounts the total. 2 The system accumulates the base price of the parent item with the configured price adjustments, and then discounts 
the total. 3 The system accumulates the configured price adjustments, and then discounts the total. 4 The system accumulates the individually 
discounted price of the components with the configured price adjustments. Note: Configured price adjustments are only included in the 
calculation for a configured item. Also, the system only discounts costs if you are using the Advanced Pricing system.  The following is an example of 
how the system uses the various methods:   Parent Item: 125 Component A: 50 Component B: 100 Configured Cost Adjustment 1: 15 Configured 
Cost Adjustment 2: 10 Advanced Price Discount: 10% Methods: 1: 50 + 100 = 150 + 15 + 10 = 175 - 17.50 = 157.5 2: 125 + 15 + 10 = 150 - 15 = 135 3: 
15 + 10 + 25 - 2.5 = 22.5 4: (50 - 5) + (100 - 10) = 135 + 15 + 10 = 160

mnUnitsInInventoryAppliedUORGMATH_NUMERICNONENONE

The quantity of units affected by this transaction.

idPPAT_MsgPtrGENLNGIDNONENONE

General purpose ID variable.

mnAmountForeignExtPriceFEAMATH_NUMERICNONENONE

The product of the foreign price times the number of units.

mnAmountForeignExtCostFECMATH_NUMERICNONENONE

The product of the cost of an item, expressed in foreign currency according to the orders exchange rate, times the number of units.

szUserID_ErrorMsgCTIDcharNONENONE

szComputerIDCTIDcharNONENONE

cMode_SplitInventoryEV01charNONENONE

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

jdSchedulePickDateRSDJJDEDATEOPTNONE

The date an item will be delivered to the customer.

jdDatePriceEffectiveDatePEFJJDEDATEOPTNONE

The system uses the Price Effective Date to determine the base price and all advanced price adjustments.  The value loaded in this date 
is stored in the System Constants File (F4009).

mnWKRelatedOrderProcessMATH02MATH_NUMERICOPTNONE

- - - Good Performance High Value. 

szRevenueBusinessUnitEMCUcharOPTNONE

A business unit is an accounting entity required for management reporting. It can be a profit center, department, warehouse location, job, 
project, work center, branch/plant, and so forth. This business unit is from the business unit entered on the header of a sales/purchase order for 
reporting purposes. This data is always right justified on entry (for example, CO123 would appear as _______CO123).  A security mechanism 
has been provided to inhibit users from entering or locating business units outside the scope of their authority.

szSystemCodeSYcharOPTNONE

A user defined code (98/SY) that identifies a system. Valid values include: 01 Address Book 03B Accounts Receivable 04 Accounts 
Payable 09 General Accounting 11 Multicurrency

mnProcessIDDEIDMATH_NUMERICOPTNONE

A system-generated number that identifies a demand record.

mnTransactionIDTCIDMATH_NUMERICOPTNONE

szProgramIDPIDcharOPTNONE

The number that identifies the batch or interactive program (batch or interactive object). For example, the number of the Sales Order Entry 
interactive program is P4210, and the number of the Print Invoices batch process report is R42565. The program ID is a variable length value. 
It is assigned according to a structured syntax in the form TSSXXX, where: T The first character of the number is alphabetic and identifies the 
type, such as P for Program, R for Report, and so on. For example, the value P in the number P4210 indicates that the object is a 
program. SS The second and third characters of the number are numeric and identify the system code. For example, the value 42 in the number P4210 
indicates that this program belongs to system 42, which is the Sales Order Processing system. XXX The remaining characters of the numer are 
numeric and identify a unique program or report. For example, the value 10 in the number P4210 indicates that this is the Sales Order Entry 
program.

mncacheKeyIndexWOLNIXMATH_NUMERICOPTNONE

mnParentCMLineNum_XLINXLINMATH_NUMERICOPTNONE

Line number.

cActionCodeForEditLineACTNcharOPTNONE

A code that specifies the action that is performed. Valid values are: A Add C Change

mnPendingConfigurationIDCFGIDMATH_NUMERICOPTNONE

An identifier that represents a unique configuration. It is generated by a next number value and is the key to the configuration tables.

Related Functions

None

Related Tables

None