1.Functional Description
This business function will generate the Component requirements using the Bill of Materials and the
requirements for the Parent. Then it will write the requirements to the Pegging table F3412. This
function is used to generate lower level Pegging records for MRP Planning.
1.1Purpose
This function is used to write Pegging records for Components based on the Bill of Materials in Multi
Level Planning, based on the Parent Item Requirements. R3483(MultiPlant MRP) uses this function to
perform the same function as in R3482.
1.2Setup Notes and Prerequisites
The Parent Item F4101 data and the F4102 data must be obtained before invoking the function.
The Unique Id for F3412 must be determined by calling the function (B3100490).
1.3Special Logic
None
2.Technical Specifications
The following actions have to be performed by the Business Function.
1. Open Tables and Initialise Data
Open F3002, F3412, F4101 and F4102 Tables
If Error in Opening, Exit with an Error Code = '1'.
2. Check in Bill of Materials
IXTBM = Input TBM. IXBQTY = Input UORG, IXMMCU=Input Parent Branch
If IXTBM = ' '
IXTBM = 'M'
Endif.
Read F3002 using Input KIT, MMCU, IXTBM and IXBQTY
If not found
IXBQTY = 0
Read F3002 using Input KIT, MMCU, IXTBM and IXBQTY
If not found
IXTBM = 'M'. IXBQTY = Input UORG
Read F3002 using Input KIT, MMCU, IXTBM, IXBQTY
If not found
IXBQTY = 0
Read F3002 using Input KIT, MMCU, IXTBM, IXBQTY
If not found
Error Code = '2'
Exit the Business function after Closing All Tables
Endif
Endif
Endif
Endif
3. Calculate Requested Date
If Input DCTO = 'WO'
Wk Req Date = Input Start Date
Else
If Input $$CONS = '1' then
Read F3002 using Input KIT, IXMMCU, IXTBM and IXBQTY
End If
If SVMRPP = 'F'
Wk Lead Time = SVLTLV
Endif
If SVMRPP = 'V'
Wk Lead time = SVLTPU * Input UORG
If Input SVRATE <> 0
Wk Lead Time = Wk Lead Time/SVRATE
Endif
Wk Lead time = Wk Lead Time + SVSETL + SVQUED
If Input Work Hours <> 0
Wk Lead Time = Ceiling (Wk Lead Time/ Input Work Hours, 0)
Endif
If $SVSTK <> '0'
Endif
If SVSTKT = M and PO $$MSLT <> 0
Wk Lead Time = Wk Lead Time + PO $$MSLT
EndIf
If Wk Lead Time = 0
Wk Req Date = Input Start Date
Else
Call B3400540 to Back Schedule flag = 'B'/Wk Lead Time/Inp Start Date
and Calculate Wk Req Date, and Input Date Branch
Input F3411 UKID = B3400540 F3411 UKID
Input Date Error Flag = B3400540 Date Error Flag
Endif
Endif
4. Calculate Qty with Shrinkage
If SVSRKF = '%'
Wk Qty with Shrink = Input UORG * ( 1 + SVSRNK/100)
Else
Wk Qty with Shrink = Input UORG + SVSRNK
Endif
If SVSNS = 'R'
Wk Qty with Shrink = Round(Wk Qty with Shrink)
Endif
5. Get Unit of Measure Conversion Factor
Wk Conv Factor = 1
If IXUOM <> SVUOM1 or SVOT1Y = 'Y'
Get Wk Conv Factor using B4000520 with IXUOM and Input SVUOM, Inp KIT and
IXMMCU, SVOT1Y,
6. Process records in the Bill of Materials
Do While Wk Exit flag <> '1'
If Wk Req Date >= IXEFFF and Wk Req Date <= IXEFFT and IXSBNT = 0 and IXQNTY <> 0
If IXLOVD <> 0
If IXLOVD < 0
Back Schedule flag = 'B'
Wk Lead time = -1 * IXLOVD
Else
Back Schedule flag = 'F'
Wk Lead Time = IXLOVD
Endif
Ceiling (Wk Lead Time, 0)
and Calculate Wk Req Date as well as Input Date Branch
Input Date Error Flag = B3400540 Date Error Flag
If Input DCTO <> 'RS' and Input DRQJ < Wk Req Date
Wk Req Date = Input DRQJ
Endif
Endif
Read F4101 using IXITM as key.
Read F4102 using IXITM and IXCMCU as key
If not found
Continue
Endif
Wk Conv Factor 1 = 1
If IXUM <> IMUOM1 or IBOT1Y = 'Y'
Get Wk Conv Factor 1 using B4000520 with IXUM and IMUOM1, IXITM
and IXCMCU, IBOT1Y,
Wk Quantity = IXQNTY * Wk Conv Factor 1
Wk Quantity = Wk Quantity * (IXFTRP/100) * (1 + (IXSTPP/100)) * (1 +
(IXSCRP/100))
If IXFORQ = '%'
Wk Quantity = Wk Quantity/100
Endif
If IXFORQ <> '%'/ 'F'
Wk Quantity = Wk Quantity * Wk Qty with Shrink /Wk Conv Factor
Endif
If IMSNS = 'R'
Wk Quantity = Round ( Wk Quantity)
Endif
If Wk Quantity > 0
If Input $$PROC = '1' And Input $$CONS <> '1' And Input $$CONS
<> '2'
MWRORN = 'PROCESS'
Endif
Write F3412 with MWKIT(IXKIT), MWMMCU(IXMMCU), MWDRQJ(WkReq
Date),MWUORG(Wk Quantity), MWITM( IXITM), MWMCU(IXCMCU), MWDOCO(Input
DOCO),MWDCTO(Input DCTO), MWLOVD(IXLOVD), MWRORN and MWUKID
Input UKID = Input UKID + 1
Endif
Endif
Read next F3002 record with Input KIT,MMCU,IXTBM and IXBQTY
If not found
Break
Endif
Enddo
7.Close Tables and Exit Routine
Close all the Tables and Release Requests
^
D3400450 - MRP, Write Lower Level Pegging Records from BOM
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
mnParentItemNumber | KIT | MATH_NUMERIC | NONE | NONE |
The system provides for three separate item numbers.
1. Item Number (short) - An eight-digit, computer assigned, completely
| ||||
szParentBranch | MMCU | char | NONE | NONE |
A code that represents a high-level business unit. Use this code to refer to a branch or plant that might have departments or jobs, which
| ||||
szTypeOfBill | TBM | char | NONE | NONE |
A user defined code (40/TB) that designates the type of bill of material. You can define different types of bills of material for different uses.
| ||||
mnBatchQuantity | BQTY | MATH_NUMERIC | NONE | NONE |
The quantity of finished units that you expect this bill of material or routing to produce. You can specify varying quantities of components
| ||||
mnDocumentNo | DOCO | MATH_NUMERIC | NONE | NONE |
A number that identifies an original document. This document can be a voucher, a sales order, an invoice, unapplied cash, a journal entry,
| ||||
szDocumentType | DCTO | char | NONE | NONE |
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
| ||||
jdStartDate | STRT | JDEDATE | NONE | NONE |
The start date for the order. You can enter this date manually, or have the system calculate it using a backscheduling routine. The routine
| ||||
jdRequestedDate | DRQJ | JDEDATE | NONE | NONE |
The date that an item is scheduled to arrive or that an action is scheduled for completion. | ||||
mnOrderQuantityPrimary | UORG | MATH_NUMERIC | NONE | NONE |
The quantity of units affected by this transaction. | ||||
szParentPrimaryUOM | UOM1 | char | NONE | NONE |
A user defined code (00/UM) that identifies the unit of measure that the system uses to express the quantity of an item, for example, EA
| ||||
cLeadTimeType | MRPP | char | NONE | NONE |
A code that determines whether the system uses fixed or variable leadtimes.
This code works in conjunction with the value from either the
| ||||
mnLeadTimeLevel | LTLV | MATH_NUMERIC | NONE | NONE |
A value that represents the leadtime for an item at its assigned level in the production process, as defined on Plant Manufacturing Data.
| ||||
mnLeadTimePerUnit | LTPU | MATH_NUMERIC | NONE | NONE |
The total number of hours required to build one unit as specified on the routing. This value is factored by the time basis code.
You can enter
| ||||
cParentStockingType | STKT | char | NONE | NONE |
A user defined code (41/I) that indicates how you stock an item, for example, as finished goods or as raw materials. The following stocking
| ||||
mnParentSetupLabor | SETL | MATH_NUMERIC | NONE | NONE |
The standard setup hours that you expect to incur in the normal completion of this item. This value is not affected by crew size. | ||||
mnParentQueueTime | QUED | MATH_NUMERIC | NONE | NONE |
The total hours that an order is expected to be in queue at work centers and moving between work centers.
The system stores this value in
| ||||
mnParentTimeBasisRate | RATE | MATH_NUMERIC | NONE | NONE |
A code used to define rate information in the General Rate/Message Records table (F00191). | ||||
cShrinkFactor | SRKF | char | NONE | NONE |
A value that determines whether the shrink factor you enter for this item is a percentage or a fixed quantity. Valid values are:
%
| ||||
mnShrinkage | SRNK | MATH_NUMERIC | NONE | NONE |
A fixed quantity or percentage that the system uses to determine inventory shrinkage for an item. The system increases the planned order
| ||||
nMfgSafetyLeadTime | INT02 | integer | NONE | NONE |
Number of Days in the Past to Query for Quote Requests Received. | ||||
nPurSafetyLeadTime | INT03 | integer | NONE | NONE |
Event point for Integer. | ||||
cSuppressErrorMessage | EV02 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cProcessFlag | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
mnUniqueID | UKID | MATH_NUMERIC | NONE | NONE |
This field is a unique number used to identify a record in a file. | ||||
cErrorCode | 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
| ||||
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
| ||||
cStockNonStockFlag | SNS | char | NONE | NONE |
A code that determines whether the system performs rounding for planning purposes. Valid values are:
R Round either up or down to the
| ||||
mnF3411UniqueID | UKID | MATH_NUMERIC | NONE | NONE |
This field is a unique number used to identify a record in a file. | ||||
cDateErrorFlag | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
szDateErrorMsgDesc | DSC1 | char | NONE | NONE |
Brief information about an item; a remark or an explanation. | ||||
szProgramID | PID | char | NONE | NONE |
The number that identifies the batch or interactive program (batch or interactive object). For example, the number of the Sales Order Entry
| ||||
mnWorkHours | WRHR | MATH_NUMERIC | NONE | NONE |
The number of work hours that the manufacturing plant operates per day. | ||||
szStandardUOMConversion | TFLA | char | NONE | NONE |
Allows you to bypass the item-specific unit of measure and use the standard unit of measure. Valid values are:
blank Use the item-specific
| ||||
mnStandardPotency | STDP | MATH_NUMERIC | NONE | NONE |
The percentage of active ingredients normally found in an item. | ||||
cPotencyControl | OT1Y | char | NONE | NONE |
A code that indicates whether you control the item by potency. | ||||
cActualStockingType | STKT | char | NONE | NONE |
A user defined code (41/I) that indicates how you stock an item, for example, as finished goods or as raw materials. The following stocking
| ||||
cConsolidationMethod | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
szDateBranch | 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
| ||||
szJobNumber | JOB | char | NONE | NONE |
Job Number | ||||
mnUniqueKeyIDOffset | MATH01 | MATH_NUMERIC | OPT | NONE |
- - - Good Performance Low Value. |
B3400540 MRP, Calculate Schedule Dates for Planning | ||||
B3401530 Cache, Process MRP Bill of Material | ||||
B4000520 Get Item UoM Conversion Factor |
F3002 Bill of Material Master File | ||||
F3412 MPS/MRP/DRP Lower Level Requirements File | ||||
F4101 Item Master | ||||
F4102 Item Branch File |