1.Functional Description
This business function will get read the Work Order table (F4801) and Load the Open Quantity
Calculated in the Item Quantity Cache in the Primary unit of measure. It will also cache the selected Work
Order records in the in the Work Order Cache in the Primary UOM.
1.1Purpose
This function is used to obtain data from the F4801 table for the MRP Planning Program R3482 and
R3483. The function will return error codes necessary.
1.2Setup Notes and Prerequisites
It is assumed that the Work Order cache does not have residual data on the same item and branch.
1.3Special Logic
None
2.Technical Specifications
The following actions have to be performed by the Business Function.
1.Open Tables and Initialize Data
Open F4801, F34004, F3411 tables
If Input $$PROC = '1' then Open the F3111 table and the F34UI005 tables.
If Error in Opening the Tables, Exit the function with an Error code = '1'
If Input Receipt Routing flag = '1'
Open F43092
If Error in Opening F43092
Input Rec Rtg Flag = ' '.
Endif
Endif
2. Load the Work Order Data in the Arrays
If Input Consolidation Method = '1' then
Wk Cache Branch = Input Date Branch
Else
Wk Cache Branch = Input Branch
End iF
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
From Date <= WADRQJ <= Input Last Date
If Input Forecast Consumption Flag($$FCP) = '1'
Input $$FBDT <= WADRQJ <= Input Last Date
WADRQJ <= Input Last Date
Case 2
WADRQJ <= Input Last Date
Wk Exit Flag = '0'
While Wk Exit flag <> '1'
Fetch from F4801
If Fetch Failed
Break
Endif
If WADRQJ = 0
Continue
Endif
WADCTO, LNTY=' ', WASRST(Right Justified).
Continue
Endif
Wk Quantity = WAUORG - WASOQS- WASOCN
Wk Conv Factor = 1.
If WAUOM <> Input UOM1 Or Input SVOT1Y = 'Y'
Get Wk Conv factor from WAUOM to Input UOM1 using B4000520
Endif
Wk Quantity = Wk Quantity * Wk Conv Factor
Wk Ratio Quantity = WAUORG * Wk Conv Factor
If Wk Quantity < 0
Wk Quantity = 0
Endif
Wk Rec Rtg Qty = 0
If Rec Rout Code WARTG = 'Y' and Input Rec Rtg flag = '1'
Wk Index = 1
While Wk Index <= 5
Wk UPIB = Blanks
Case Wk Index = 1
Wk UPIB = 'PREQ'
Case Wk Index = 2 and Input Trans flag <> '1'
Wk UPIB = 'QTTR'
Case Wk Index = 3 and Input Inspect flag <> '1'
Wk UPIB = 'QTIN'
Case Wk Index = 4 and Input Other1 flag <> '1'
Wk UPIB = 'QTO1'
Case Wk Index = 5 and Input Other2 flag <> '1'
Wk UPIB = 'QTO2'
End Case
If Wk UPIB <> Blanks
While Wk Exit flag 1 <> '1'
Read the F43092 rows using WARTG, Wk UPIB, WADOCO,
WADCTO as keys
If not found
Break
Endif
Wk Quantity 1 = PXQTYO
If PXUOM <> Input UOM1 Or Input SVOT1Y = 'Y'
Convert Wk Quantity 1 from PXUOM to Input
UOM1 using B4000520
Endif
Wk Rec Rtg Qty= Wk Rec Rtg Qty + Wk Quantity 1
EndWhile
Endif
Add 1 to Wk Index
EndWhile
Endif
If Wk Rec Rtg Qty < 0
Wk Rec Rtg Qty = 0
Endif
If Work Order's WAUNCD <> 'Y' then
Call B3401310 in 'ADD' mode to cache the WO record using WADOCO, WADCTO,
MCU= Wk Cache Branch, WASRST, WASTRT, WADRQJ, WAITM, MATH01= Wk Quantity, UORG=WAUORG *Wk
Conv Factor, WATBM, EV01 Flag = ' '.
Call B3401290 in 'GET' mode to fetch Item Qty cache record using Wk Cache Branch, WADRQJ and
'WOU'.
Add Wk Quantity to Quantity from Cache record, and
call B3401290 in 'UPDATE' mode to update the cache record.
Else
Branch, WADRQJ, 'WOU' and with Wk Quantity
End If
Branch, WADRQJ, and 'IR'.
Add Wk Rec Rtg Quantity to Quantity from Cache record, and
Call B3401290 in 'UPDATE' mode to update the cache record.
Else
Branch, WADRQJ, 'IR' and Wk Rec Rtg Quantity.
End If
WADRQJ and with Input Date Branch.
If WAUNCD = 'Y' and WASTRT < $$MSGD and $@F = '1' and Wk Quantity > 0
Write F3411 with MMMSGT('F'), MMUKID(Input UKID),MMDOCO(WADOCO),
MMDCTO(WADCTO), MMLNID(=0), MMKCOO(=' '), MMTRQT(Wk Quantity), MMVEND(0), MMSTRT(WASTRT),
MMDSC1(Inp Frozen Order Desc), MMITM(Inp Item),MMMCU(Wk Cache Branch), MMDRQJ(Wk
Bucketless Date), MMHCLD('A').
Input UKID = Input UKID + 1
Output $$MRPD = '2'
Endif
If WADRQJ < $$RGNJ and WASTRT < $$MSGD and $@T = '1' and Wk Quantity > 0
Write F3411 with MMMSGT('T'), MMUKID(Input UKID),MMDOCO(WADOCO),
MMDCTO(WADCTO), MMLNID(0), MMKCOO(" "), MMTRQT(Wk Qty), MMVEND(0), MMSTRT(WASTRT),
MMDSC1(Inp Past Due Desc), MMITM(Inp Item),MMMCU(Wk Cache Branch), MMDRQJ(Wk Bucketless Date),
MMHCLD('A').
Input UKID = Input UKID + 1
Output $$MRPD = '2'
Endif
Output WO flag = '1'
If Input $$MRP = 'Y' and Input $$MANP = ' '
Call B3400460 to Create Pegging from Parts List with WADOCO, WAITM,
WAMMCU, $$PROC, $$NETC and F3412 UKID.
Input F3412 UKID = Return UKID from B3400460
BOM)If WARORN = " " Or WARORN = "0" Or (Input STKT <> 'K' And <> 'C')
Input Part List Desc <> ' '
UKID),MMDOCO(WADOCO), MMDCTO(WADCTO), MMLNID(0), MMKCOO(""), MMTRQT(Wk Qty),
MMVEND(0), MMSTRT(WASTRT), MMDSC1(Input Parts List does not Exist
Desc), MMITM(Inp Item),MMMCU(Wk Cache Branch), MMDRQJ(Wk Bucketless Date),
MMHCLD('A').
Endif.
Call B3400450 to Create Lower Level Pegging From BOM with
WAITM, WAMMCU, WATBM, WADOCO, DCTO(='WO'), WASTRT, WADRQJ, WAUORG*Wk Conv Factor,
SVUOM, SVMRPP, SVLTLV, SVLTPU, $$STKT, SVSETL, SVQUED, RATE, SVSRKF,SVSRNK,
$$MSLT, $$PSLT, $$PROC ,F3412 UKID, F3411 UKID, Date Error Flag and Msg
Input WRHR, Input Consolidation Method, Input Date Branch
Input F3412 UKID = Return UKID from B3400450
Input F3411 UKID = Return UKID from B3400450
Input Date Error Flag = Return Date Error Flag from
B3400450
End If
Endif
Endif
If Input $$PROC = '1' then
WAITM, WAMMCU, WADRQJ, Wk Ratio Qty
EndWhile
Spread COBY Products Internal Function(WADOCO, WADCTO, WAITM, WAMMCU, WADRQJ, Wk Ratio Qty
Read F3111 table using WADOCO(from main) and COBY = 'C' sequentially.
If Record Found then
While Not EOF F3111
If WMCMCU = WAMMCU
Wk Quantity = WMUORG - WMTRQT - WMSOCN
Branch and WMCPIT as ITM.
using Wk Cache Branch, WMCPIT, 0 as MN29D9.
Input $$CEND ++
Read from F4101 using WMCPIT to get the Primary UOM(IMUOM1) and
IMTFLA flag.
Read from F4102 Using WMCPIT and WMCMCU to get IBSTDP, and IBOT1Y.
Wk Conv Factor = 1
If WMUM <> IMUOM1 Or IBOT1Y then
Call B400520 to get Wk Conv Factor from WMUM to IMUOM1.
End If
Wk Quantity = Wk Quantity * Wk Conv Factor.
If Wk Quantity < 0 then
Wk Quantity = 0
End If
Wk Rec Rtg Qty = 0
If WMRTG = 'Y' and Input Rec Rtg Flag = '1'
Wk Index = 1
While Wk Index <= 5
Wk UPIB = " "
Case Wk Index = 1
Wk UPIB = "PREQ"
Case Wk Index = 2 And Input Trans Flag <> '1'
Wk UPIB = "QTTR"
End Case
If WK UPIB <> " " then
While Wk Exit Flag <> '1'
Read from F43092 using WMRTG, Wk UPIB,
WMDOCO, WMDCTO, WMBSEQ.
If Not Found then
Break out of while loop
End If
Wk Quantity 1 = PXQTYO
If PXUOM <> IMUOM1 Or IBOT1Y = 'Y'
Convert Wk Quantity 1 from PXUOM to
IMUOM1 using B400520
End If
Wk Rec Rtg Qty = Wk Rec Rtg Qty + Wk Quantity
1
End While
End If
Wk Index ++
End While
End If
If Wk Quantity > 0
WMCPIT, WADRQJ and 'PWU'.
'PWU' and Wk Quantity.
Add Wk Quantity to Quantity from F34UI005 and Update the
F34UI005 record.
End If
End If
If Wk Receipt Rtg Qty > 0 then
D3400440 - MRP, Write Work Order Qty Into Cache
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
mnJobNumber | JOBS | MATH_NUMERIC | NONE | NONE |
The job number (work station ID) which executed the particular job. | ||||
szComputerId | CTID | char | NONE | NONE |
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
| ||||
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
| ||||
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. | ||||
cProcessFlag | EV02 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cStockingType | 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
| ||||
cTransitFlag | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cInspectFlag | EV02 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cOther1Flag | 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,
| ||||
cOther2Flag | EV04 | char | NONE | NONE |
PeopleSoft event point processing flag 04. | ||||
jdMessageDate | DATE01 | JDEDATE | NONE | NONE |
Event point for JDE Date. | ||||
jdRegenerationDate | DATE02 | JDEDATE | NONE | NONE |
Event point for JDE Date. | ||||
cFrozenOrderMsgFlag | EV09 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cPastDueOrderMsgFlag | EV10 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cWarningMessagesFlag | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cMultiLevelFlag | 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. | ||||
mnF3412UniqueID | UKID | MATH_NUMERIC | NONE | NONE |
This field is a unique number used to identify a record in a file. | ||||
cSuppressErrorMessage | EV07 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cReceiptRoutingFlag | EV08 | 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
| ||||
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
| ||||
cWorkOrderFlag | EV09 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cMRPMessageFlag | 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
| ||||
cMfgPartsListFlag | EV02 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cNetChangeFlag | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
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
| ||||
szFrozenOrderDesc | DSC1 | char | NONE | NONE |
Brief information about an item; a remark or an explanation. | ||||
szPastDueOrderDesc | DSC2 | char | NONE | NONE |
A second, 30-character description, remark, or explanation. | ||||
szPartsListDesc | DSC3 | char | NONE | NONE |
The third line of description associated with an inventory item or order line. | ||||
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. | ||||
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. | ||||
jdBeginDate | 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
| ||||
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,
| ||||
nNumberOfPastDuePeriods | INT01 | integer | NONE | NONE |
Number of Days in Future to Query for Responses Due. | ||||
nNumberElementsInCOBYArray | INT02 | integer | NONE | NONE |
Number of Days in the Past to Query for Quote Requests Received. | ||||
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 | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
szJobNumberAsString | JOB | char | NONE | NONE |
Job Number | ||||
cRoundToWholeFlag | 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
| ||||
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
| ||||
mnUniqueKeyIDOffset | MATH01 | MATH_NUMERIC | OPT | NONE |
- - - Good Performance Low Value. | ||||
cSupplyDemandExist | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
cBOMLoadedFlag | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
mnLotEffectiveDefaultDays | LEDD | MATH_NUMERIC | OPT | NONE |
The number of days that an item must remain in inventory before the system considers the item to be available for sales and manufacturing
| ||||
cProjectSpecificItem | 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. |
B3400450 MRP, Write Lower Level Pegging Records from BOM | ||||
B3400460 MRP, Write Pegging from Parts List | ||||
B3401270 Cache, Process MRP Bucketless Dates | ||||
B3401280 Cache, Process MRP Co/By Products | ||||
B3401290 Cache, Process MRP Item Quantities | ||||
B3401300 Cache, Process MRP Inclusion Rules | ||||
B3401310 Cache, Process MRP Work Orders | ||||
B4000520 Get Item UoM Conversion Factor | ||||
B4000920 Get Item Branch Mfg Data | ||||
B4001040 Get Item Master Description UOM | ||||
B9800100 Get Audit Information |
F3111 Work Order Parts List | ||||
F3411 MPS/MRP/DRP Message File | ||||
F3412 MPS/MRP/DRP Lower Level Requirements File | ||||
F34UI005 MRP Orders/Requirements User Index-Process Item | ||||
F43092 Purchase Order Receipt Routing File | ||||
F4801 Work Order Master File |