1.Functional Description
This business function will read the Parts List table (F3111) and Load the Parts List Quantity
adjusted by Planning Message data from Message Table (F3411) into the Regular Item Qty Cache in the Primary
UOM.
1.1Purpose
This function is used to obtain data from the F3111 table for the MRP Planning Program R3482 and
R3483. The function will return error codes necessary.
1.2Setup Notes and Prerequisites
1.3Special Logic
None
2.Technical Specifications
The following actions have to be performed by the Business Function.
1. Open Tables
Open tables F4801, F3411, F4101, F4102, and F3111
If Error in Opening the Tables, Exit the function with an Error code = '1'
2. Load the Parts List Data into the Cache
Switch (Input Number of Past Due Periods $PDUE)
Case 0
If Input Forecast Consumption Flag($$FCP) = '1'
Wk From Date = Input $$FBDT
Else
Wk From Date = Input $$BEG
End If
WMCOBY = ' ', and Wk From Date <= WMDRQJ <= Input Last Date
If Input Forecast Consumption Flag($$FCP) = '1'
Branch, WMCOBY = ' ', and Input $$FBDT <= WMDRQJ <= Input Last Date
Branch, WMCOBY = ' ', and WMDRQJ <= Input Last Date
Case 2
WMCOBY = ' ', and WMDRQJ <= Input Last Date
Wk Exit Flag = '0'
If Input Consolidation Method = '1' then
Wk Cache Branch = Input Date Branch
Else
Wk Cache Branch = Input Branch
End If
While Wk Exit flag <> '1'
Fetch from F3111
If fetch failed or WMDRQJ = 0
Break
Endif
Read F4801 using WMDOCO as the Key
If not found
Continue
Endif
WADCTO, LNTY=' ', WASRST(Right Justified).
Continue
Endif
Wk Conv Factor = 1
If WMUM <> Input UOM1 or SVOT1Y = 'Y'
SVMCU,SVITM, SVOT1Y, SVSTDP, SVTFLA
Read F4101 using WAITM as the key.
Read F4102 using WAITM and WAMMCU as the keys
If not found
Continue
EndIf
Wk WO Qty = WAUORG
If WAUOM <> IMUOM1 Or IBOT1Y = 'Y'
WAMMCU,IBOT1Y, IBSTDP, IMTFLA
Endif
Flag = 'L' (<=)
Wk PLU Qty = (WMUORG - WMQNTA) * Wk Conv Factor
Call B3401290 in 'GET' mode to fetch Item Qty cache record using Wk Cache Branch, WMDRQJ and
'PLU'.
Add Wk PLU Qty to Quantity from Cache record, and
Call B3401290 in 'UPDATE' mode to update the cache record.
Else
Branch, WMDRQJ, 'PLU' and with Wk PLU Qty
Wk Order Qty = WMUORG
Wk Req Date = WMDRQJ
Do While Wk Exit flag 1 <> '1'
Read F3411 using WMDOCO and WADCTO as Partial Keys(Read in order of
MMUKID)
If not found
Break
Endif
If MMMSGT = 'M' then
Continue
End If
If WASRST >= Input $$SRST and Input $$SRST <> ' '
Wk MSGT = 'S'
Else
Wk MSGT = 'A'
Endif
If MMMSGT = 'C'
Wk Msg Qty = (WMUORG - WMQNTA) * Wk Conv Factor
If Wk Msg Qty > 0 and $@A = '1' and Input Cancel Msg <> ' '
Write F3411 with MMMSGT(Wk MSGT), MMUKID(Input UKID),
MMDOCO (WMDOCO),MMDCTO(WADCTO), MMLNID(=0), MMKCOO(=' '), MMTRQT(Wk Msg
Qty) , MMVEND(0), MMSTRT(0), MMRSTJ(0), MMDSC1(Inp Cancel
MMDRQJ(WMDRQJ), MRRQJ(0), MMHCLD('A').
Output $$MRPD = '2'
Endif
WMUORG = 0
Break
Endif
If MMMSGT = 'L'/'G' and WMFORQ <> 'F'
WMUORG = WMUORG * MMTRQT
If Wk WO Qty <> 0
WMUORG = WMUORG/Wk WO Qty
Endif
Wk Msg Qty = (WMUORG - WMQNTA) * Wk Conv Factor
If Wk Msg Qty > 0 and $@A = '1'
If MMMSGT = 'L'
Wk Desc = Decrease Parts List Msg
Else
Wk Desc = Increase Parts List Msg
Endif
If Wk Desc <> Blanks
UKID), MMDOCO (WMDOCO),MMDCTO(WADCTO), MMLNID(=0), MMKCOO(=' '),
MMTRQT(Wk Msg Qty) , MMVEND(0), MMSTRT(0), MMRSTJ(0), MMDSC1(Wk
Desc), MMITM(Inp Item), MMMCU(Wk Cache Branch),
MMDRQJ(WMDRQJ), MMRRQJ(0), MMHCLD('A').
Output $$MRPD = '2'
Endif
Endif
Endif
If MMMSGT = 'D'/'E'
Wk Old DRQJ = WMDRQJ
Wk Days = Date Difference (MMRRQJ - MMDRQJ)
WMDRQJ = Add Days (WMDRQJ with Wk Days)
Call B3401270 in 'GET NEAREST' mode passing keys Input Date
Branch, WMDRQJ, and
If Wk Msg Qty > 0 and $@A = '1'
If MMMSGT = 'D'
Wk Desc = Defer Parts List Msg
Else
Wk Desc = Expedite Parts List Msg
Endif
If Wk Desc <> Blanks
Write F3411 with MMMSGT(Wk MSGT), MMUKID(Input
UKID), MMDOCO (WMDOCO),MMDCTO(WADCTO), MMLNID(=0), MMKCOO(=' '),
MMTRQT(Wk Msg Qty) , MMVEND(0), MMSTRT(0), MMRSTJ(0), MMDSC1(Wk
MMDRQJ(Wk Old DRQJ), MMRRQJ(WMDRQJ), MMHCLD('A').
Input UKID = Input UKID + 1
Endif
Endif
Endif
EndWhile
If WASRST >= Input $$SRST and Input $$SRST <> ' '
WMDRQJ = Wk Req Date
WMUORG = Wk Order Qty
Endif
If WMUORG > 0
Cache Firm Parts List Qty to Item Qty Cache
Call B3401290 in 'GET' mode to fetch Item Qty cache record using Wk Cache Branch, WMDRQJ,
and 'FPL'.
Call B3401290 in 'UPDATE' mode to update the cache record.
'FPL' and with Wk FPL Qty
EndWhile
3. Close all Tables
Close all Tables
Exit
^
D3400480 - MRP, Write Parts List Qty Into Cache
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
mnShortItemNumber | 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
| ||||
szBranch | 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
| ||||
jdFromDate | EFFF | JDEDATE | NONE | NONE |
A date that indicates one of the following:
o When a component part goes into effect on a bill of material
o When a routing step goes into
| ||||
szDisplayUnitOfMeasure | 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
| ||||
szWOStatus | SRST | char | NONE | NONE |
A user defined code (00/SS) that describes the status of a work order, rate schedule, or engineering change order. Any status change from
| ||||
nPastDueElements | INT01 | integer | NONE | NONE |
Number of Days in Future to Query for Responses Due. | ||||
cWarningMessagesFlag | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
mnF3411UniqueID | UKID | MATH_NUMERIC | NONE | NONE |
This field is a unique number used to identify a record in a file. | ||||
cMessageFlag | MRPD | char | NONE | NONE |
This code may be used as an additional field to select Item information to print on reports. Once values are loaded into this field, The
| ||||
cSuppressErrorMessage | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
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
| ||||
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
| ||||
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
| ||||
szCancelPartsListDesc | DSC1 | char | NONE | NONE |
Brief information about an item; a remark or an explanation. | ||||
szDecreasePartsListDesc | DSC2 | char | NONE | NONE |
A second, 30-character description, remark, or explanation. | ||||
szIncreasePartsListDesc | DSC3 | char | NONE | NONE |
The third line of description associated with an inventory item or order line. | ||||
szDeferPartsListQtyDesc | DSC1 | char | NONE | NONE |
Brief information about an item; a remark or an explanation. | ||||
szExpeditePartsListQtyDesc | DSC2 | char | NONE | NONE |
A second, 30-character description, remark, or explanation. | ||||
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. | ||||
szJobNumberAsString | JOB | char | NONE | NONE |
Job Number | ||||
jdLastDate | EFFT | JDEDATE | NONE | NONE |
A date that indicates one of the following:
o When a component part is no longer in effect on a bill of material
o When a routing step is no
| ||||
jdForecastBeginningDate | DATE04 | JDEDATE | NONE | NONE |
Event point for JDE Date. | ||||
cForecastConsumptionFlag | EV03 | char | NONE | NONE |
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,
| ||||
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
| ||||
cConsolidationMethod | EV02 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
mnUniqueKeyIDOffset | MATH01 | MATH_NUMERIC | OPT | NONE |
- - - Good Performance Low Value. | ||||
cSupplyDemandExists | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
cProjectPlanning | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
mnSequenceNumber | SEQN | MATH_NUMERIC | OPT | NONE |
A number used to organize the table into a logical group for online viewing and reporting. | ||||
cProjectSpecificItem | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. |
B3401270 Cache, Process MRP Bucketless Dates | ||||
B3401290 Cache, Process MRP Item Quantities | ||||
B3401300 Cache, Process MRP Inclusion Rules | ||||
B4000520 Get Item UoM Conversion Factor | ||||
B9800100 Get Audit Information | ||||
B9800420 Get Data Dictionary Definition |
F3111 Work Order Parts List | ||||
F3411 MPS/MRP/DRP Message File | ||||
F4101 Item Master | ||||
F4102 Item Branch File | ||||
F4801 Work Order Master File |