1.Functional Description
1.1Purpose
This function will calculate the routing costs for a particular routing record (F3003). The costs
will be retrieved for all cost types in UDC table 30/CO. They will be accumulated in one of two ways.
In total mode the values will be returned by cost bucket. The cost bucket is determined by the value
in the first description of the cost type in the UDC table. In this mode the costs for buckets #1-#6
will be returned from one call. The total of the costs of buckets #1-#6 will be returned in bucket
#7. When this function is called in detail mode, the costs will be returned one by one for each cost
type which belong in buckets #3-#6. A flag will be returned when the last cost for the routing record
has been retrieved. The calculations may be performed in Frozen ('1') and Simulated ('0') mode. The
mode sent in will determine values used in the cost calculations.
The costs will use values returned from other business functions to determine the costs.
1.2Setup Notes and Prerequisites
This function calls other functions that will calculate the costs. The purpose of this function is
primarily to return the data by cost bucket as opposed to by cost type. The values required to send to
other functions will be handled within this function and do not need to be calculated. However, the
following are parameters that need to be retrieved or values that need to be determined before calling
the function:
Need Routing Master Pointer (F3003)
Need Manufacturing Constants Pointer (F3009)
Send in Mode of Processing. '1' - Totals will be returned. '2' - Build detail array. '3' -
Retrieve one detail line. '4' - Free memory.
Send in Frozen/Simulated Mode. '1' equals Frozen and '0' equals Simulated.
Cost Methods represents the values to be used when retrieving records from F4105, F30026, and
F30008. The default for Cost Method_1 is '07'. If Cost Method_2 (used for Purchased Item calculations) or
Cost Method_3 (used for Outside Operations calculations) does not contain a value, then Cost Method_1
will be used.
The parameters that retrieve cost bucket costs will return the individual costs calculated. When in
Processing Mode '1', the detail cost will be returned in cost bucket '1'.
When calculating costs in detail mode, then cost type from UDC table 30/CO will be returned in
parameter Cost Type Calculated. It's associated cost bucket will be returned as well.
When Include1&2 is set to a '1', the amounts calculated for Cost Buckets #1 & #2 will be included in
the total accumulated in Bucket #7. Otherwise the total will only include Buckets #3-#6.
1.3Special Logic
If this business function is called, ultimately this function should be called a final time to clean
up the memory..
2.Technical Specifications
2.4Processing
A. Load link list with all UDC items from table 30/CO with Cost Type (DRKY) and Bucket Number
(DRDL01). The link list will be sorted by Bucket Number.
B. This function is called to calculate the costs for one F3003 record at a time. For each record,
the link list previously built will be used to accumulate the costs in the appropriate buckets.
1. Call Convert Batch Quantity (B3000160) for IRBQTY. Save returned value as PBQTY.
2. Retrieve Time Basis Units by calling Convert Time Basis Code To Quantity (B3000330).
Save returned value in TIMB.
3. Call Calculate First Op Cost Buckets (B3000650) first time in mode '1' to load arrays and
retrieve the costs for A1. The next call will send a mode = ' ', and will
retrieve the costs for A2. The last call will destroy the arrays
that were built in the previous call. If Cost Method_2 sent into
this function is blank or Purchased/Manufactured is equal to 'M' send
Calculate First Op Cost Buckets (B3000650) Cost Method_1.
If Cost Method_2 is not blank and Purchased/Manufactured
is equal to 'P', use Cost Method_2. (Added 10/6/95)
The call to this function should retrieve IXBQTY (Batch Quantity) associated with the BOM
records used by the function along with IXUOM (Unit of Measure as Input).
Convert Batch Quantity (B3000160) should be called to convert the
quantity into its display unit of measure.
If Include1&2 is a '1' and A1 or A2 is in Bucket #1 or Bucket #2, then the costs
calculated should be included in Bucket #7. Other wise they should not be
added to Bucket #7.
factor.
returned from VC01A, then an intermediate item exists and Calculate Intermediate Qty With
Shrink (B3000290) should be called with PBQTY sent in the requested quantity field.
and Labor hours that will be sent to B3000470. The requested quantity sent into function
B3000470 should be a '1' or the value retrieved from B300290 if there is an intermediate item. Divide
the returned value for RUNL and RUNM by the unit of measure conversion factor retrieved above.
If an intermediate item exists, divide the result from (5) by PBQTY and then multiply it times
RUNL and RUNM.
Center, then call Verify And Get Work Center Master (B3000400) to retrieve the pointer to file
F30006. Send in a call type of '1' and a '1' in the return pointer flag along with the work center.
Center, then call Verify And Get WC Rates (B3000460) with the Work Center, Cost Method, Return
Pointer = '1', and Call Type = '1'. If a record is not found with these values and the Cost Method_1
used is not equal to '07', call the function again with the Cost Method_1 equal to '07'. This
will return the pointer to the F30008 file.
if the are assigned to a bucket greater than 2:
If IRRUNL and TIMB ne zero:
Requested Qty and add to appropriate cost bucket.
If IRSETL ne zero:
Accounting Cost Quantity and add to appropriate cost bucket.
by Requested Qty and add to appropriate cost bucket.
If IRRUNL and IWWORE (from F30006) and TIMB ne zero and IAMWCE (from F3009) eq 'Y':
Efficiency by Requested Qty and add to appropriate cost bucket.
If IRRUNM and Timb ne zero and IAIVMO eq 'Y':
Variable Labor Overhead by Requested Qty and add to appropriate cost bucket.
If IRRUNM ne zero and IAIFMO eq 'Y' and TIMB ne zero:
Variable Labor Overhead by Requested Qty and add to appropriate cost bucket.
If IAIVO eq 'Y'and IACVDL eq 'Y' or IACVSL ne 'Y' and
IRRUNL ne zero or IRSETL ne zero:
Variable Labor Overhead by Requested Qty and add to appropriate cost bucket.
If IAIFO eq 'Y' and IACFDL eq 'Y' or IACFSL eq 'Y' and
IRRUNL ne zero or IRSETL ne zero:
Labor Overhead by Requested Qty and add to appropriate cost bucket.
Cost Buckets (3000650) should be called with the cost type to calculate the proper cost.
Inclue1&2 should be checked to see if the quantities should be accumulated in Bucket#7.
If Mode is '1' Accumulate the Totals for each bucket and return after all buckets have been
calculated.
costs will contain the cost type, calculated cost, and cost bucket. The nodes will be sorted by
cost bucket. Each successive call will retrieve one node at a time from the link list. During
the call when the final node has been retrieved, a '1' will be returned in LastDetailLineSent.
All three items from the link list need to be returned. Once all of the nodes have been
retrieved, the function will be called a final time to free the memory for the detail link list.
returned value in the appropriate cost bucket. Send in Cost Method_3 if it is not blank. If
it is blank, use Cost Method_1. Inclue1&2 should be checked to see if the quantities
should be accumulated in Bucket#7 if the cost bucket is equal to '1' or '2'. If mode is not
'1' and the Cost Bucket for IRCOST is '1' or '2', then this function does not need to be
called.
D3000630 - Calculate Routing Bucket Totals
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
idPointerToRoutingMaster | GENLNG | ID | NONE | NONE |
General purpose ID variable. | ||||
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
| ||||
szTypeBill | 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.
| ||||
mnCostBucket1 | B1EV1 | MATH_NUMERIC | NONE | NONE |
Work Amount field for the Manufacturing System. | ||||
mnCostBucket2 | B2EV1 | MATH_NUMERIC | NONE | NONE |
Work Amount field for the Manufacturing System. | ||||
mnCostBucket3 | B3EV1 | MATH_NUMERIC | NONE | NONE |
Work Amount field for the Manufacturing System. | ||||
mnCostBucket4 | B4EV1 | MATH_NUMERIC | NONE | NONE |
Work Amount field for the Manufacturing System. | ||||
mnCostBucket5 | B5EV1 | MATH_NUMERIC | NONE | NONE |
Work Amount field for the Manufacturing System. | ||||
mnCostBucket6 | B6EV1 | MATH_NUMERIC | NONE | NONE |
Work Amount field for the Manufacturing System. | ||||
mnCostBucket7 | B7EV1 | MATH_NUMERIC | NONE | NONE |
Work Amount field for the Manufacturing System. | ||||
cMode | MODE | char | NONE | NONE |
The processing mode used in Purchase Order Consolidator to signify when specific orders are being processed. | ||||
cFrozen | MODE | char | NONE | NONE |
The processing mode used in Purchase Order Consolidator to signify when specific orders are being processed. | ||||
szCostTypeCalculated | COST | char | NONE | NONE |
A code that designates each element of cost for an item. Examples of the cost object types are:
o A1 Purchased raw material
o B1
| ||||
cCostBucket | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
mnRequestedQuantity | RQTE1 | MATH_NUMERIC | NONE | NONE |
The number of parent items that you want to process. The system calculates lower level values in quantity per the number of parent items
| ||||
mnAccountingCostQty | ACQ | MATH_NUMERIC | NONE | NONE |
An amount that the system uses in the Cost Rollup program to determine the allocation of setup costs. The system totals the setup costs
| ||||
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
| ||||
cSuppressErrorMessage | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
idPointerToMfgConstants | GENLNG | ID | NONE | NONE |
General purpose ID variable. | ||||
szCostMethod_1 | LEDG | char | NONE | NONE |
A user defined code (40/CM) that specifies the basis for calculating item costs. Cost methods 01 through 19 are reserved for J.D. Edwards
| ||||
szCostMethod_2 | LEDG | char | NONE | NONE |
A user defined code (40/CM) that specifies the basis for calculating item costs. Cost methods 01 through 19 are reserved for J.D. Edwards
| ||||
szCostMethod_3 | LEDG | char | NONE | NONE |
A user defined code (40/CM) that specifies the basis for calculating item costs. Cost methods 01 through 19 are reserved for J.D. Edwards
| ||||
cLastDetailLineSent | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
szUnitOfMeasure | UOM | char | NONE | NONE |
A user defined code (00/UM) that indicates the quantity in which to express an inventory item, for example, CS (case) or BX (box). | ||||
cInclude1and2 | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
jdAsOfDate | ASDE1 | JDEDATE | NONE | NONE |
The date used for effectivity checking. Enter a specific date to display documents (orders, bills of material, routings, as applicable) that are
| ||||
cPurchased_Manufactured | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
cCalledFromCostedRouting | EV01 | char | OPT | NONE |
An option that specifies the type of processing for an event. | ||||
mnItemNumberOriginal | KIT | MATH_NUMERIC | OPT | NONE |
The system provides for three separate item numbers.
1. Item Number (short) - An eight-digit, computer assigned, completely
| ||||
idListPointer | GENLNG | ID | OPT | NONE |
General purpose ID variable. | ||||
idFirstOpListPtr | GENLNG | ID | OPT | NONE |
General purpose ID variable. |
None |
None |