1.Functional Description
1.1Purpose
This function takes the item number, passed in data structure as input, and verifies the stocking type of that item. If the item is Manufactured then it
calculates "Level Leadtime" and "Leadtime/Unit" for that item and the "Manufacturing Leadtime" and "Cumulative Leadtime" are set to zero. If the item
is Purchased then the "Manufacturing Leadtime" is set to zero and "Cumulative Leadtime" is set equal to "Level Leadtime". It then updates the
values for respective item/branch in F4102 table.
The function uses "Branch/Plant" and "AsOfDate" supplied by user in the input data structure. The AsOfDate is used to validate the effectivity of that
record. A blank value of AsOfDate defaults to today's date. If the Branch/Plant field is blank then function updates all Branch/Plants that contain the
item in input data structure.
1.2Setup Notes and Prerequisites
This function is expected to be used in conjunction with "Leadtime Rollup" (N3003320). See the description for N3003320 for more information.
1.3Special Logic
This NER contains one other member function "Process Routing" which is used to calculate the hours required in manufacturing of a given item. This
function calculates these hours using the Routing found for that particular item in Routing table F3003. This function is called by "Leadtime
Calculation" to process appropriate routing for the item/branch. The appropriate routing for an item/branch is selected by the calling function "Leadtime
Calculation" according to criteria described in a following section.
2.4.1Processing (N3003300 - Leadtime Calculation)
0. Look for the Branch/Plant value passed from processing options. If the value is a blank or "*", open F4102 and sequentially read all the records
for given item number. The following processing is done for all the records fetched from F4102. If a Branch/Plant value is found in processing options,
only the record for that Item/Branch is fetched and processed.
1. Retrieve Stocking type of the item from F4102.
2. If the item is Purchased, copy value of "Leadtime Level" field to "Leadtime Cumulative" field and update these fields in Table F4102. MRP Net
Change Flag is set.
3. If the item is Manufactured '85
'b7If a cross-reference item is found, function verifies that the cross-reference item has a routing.
'b7If the cross-reference item has a routing, than the cross-reference item is selected to get routing information.
'b7Otherwise the original input item is used to get routing information.
'b7Otherwise, function searches for routing with a batch quantity of zero (batch quantity of zero suggests a general purpose routing). If
a general purpose routing is found, it is used.
'b7If no routing is found, than the functions sends and error message to Work Center and returns.
c)If a routing is found, "Process Routing" is called with the item number and batch quantity for which the routing search was successful.
"Process Routing" returns the total (accumulated) value of Setup, Move/Queue, and Run hours for the routing.
d)The values for Leadtime/Unit, Leadtime Level are calculated using the Setup, Move/Queue, and Run Hours, and Batch Quantity (using
appropriate unit conversions).
e)Leadtime Manufacturing and Leadtime Cumulative values are set to Zero. These fields will be updated by "Leadtime Rollup" business
function using the "Leadtime Cumulative" values of lowest level purchased items.
f)Table F4102 is updated with new values of Leadtime/Unit, Leadtime Level, Leadtime Manufacturing, Leadtime Cumulative. MRP Net Change
Flag is set.
2.4.2Processing (N3003300 - Process Routing)
0.Get selected routing. Retrieve routing records sequentially. Skip all the records not valid on user supplied AsOfDate (o today's date, in case user
did not supply this date), or with an operation code of "A", "R", or "T". All the rest of records are processed according to following logic.
1.If Move and Queue Hours values are blank in Routing Master record, than get their default values from Work Center Master Table F30006.
2.Get Work Center Efficiency and Utilization from F30006 and divide by 100 to get fraction value. Default the values to 1 if not found in F30006.
3.Check for intermediates and, if found, adjust intermediate quantity to cumulative yield percentage (CPYP). Round up to whole number if Round
Flag is on for the item in F4101.
4.Setup, Move/Queue, and Run hours are calculated according to the calculations specified in "Leadtime Calculation" specifications document.
5.Values are copied into BF (Data structure) fields to return to calling program.
D3003300 - Leadtime Calculate
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
mnIdentifierShortItem | ITM | MATH_NUMERIC | REQ | INPUT |
An inventory item number. The system provides three separate item numbers plus an extensive cross-reference capability to other item
| ||||
szCostCenter | MCU | char | OPT | INPUT |
An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit
| ||||
jdAsOfDate | ASDE1 | JDEDATE | OPT | INPUT |
The date used for effectivity checking. Enter a specific date to display documents (orders, bills of material, routings, as applicable) that are
| ||||
idPPATMessage_GENLNG | GENLNG | ID | OPT | INPUT |
General purpose ID variable. | ||||
szUserId | USER | char | OPT | INPUT |
The code that identifies a user profile. | ||||
szWorkStationId | JOBN | char | OPT | INPUT |
The code that identifies the work station ID that executed a particular job. | ||||
jdDateToday | ASDE1 | JDEDATE | OPT | INPUT |
The date used for effectivity checking. Enter a specific date to display documents (orders, bills of material, routings, as applicable) that are
| ||||
mnTimeOfDay | TDAY | MATH_NUMERIC | OPT | INPUT |
The computer clock in hours:minutes:seconds. | ||||
szProgramId | PID | char | OPT | INPUT |
The number that identifies the batch or interactive program (batch or interactive object). For example, the number of the Sales Order Entry
| ||||
cPOQueueHoursFlag | EV01 | char | OPT | INPUT |
An option that specifies the type of processing for an event. | ||||
cPOMoveQhrsFrmWC | EV01 | char | OPT | INPUT |
An option that specifies the type of processing for an event. | ||||
cPOOverrideNoOfEmp | EV01 | char | OPT | INPUT |
An option that specifies the type of processing for an event. |
None |
None |