1.Functional Description
1.1Purpose
Copy Co-Products, By-Products, Ingredients, and Intermediates from an Operation.
Mode: 1=All
3=By-Products,
5=Intermediates,
1.2Setup Notes and Prerequisites
1.3Special Logic
2.Technical Specifications
2.4Processing
1.0Open all tables required for processing: F3002, F4101, F4102, F3009
2.0If this is a Copy Process (not changing Operation Sequence only), Calculate the ratio of new
parent batch qty to old parent batch qty. This ratio is expressed in a common unit of measure. All UOM
conversions and calculations are done once to avoid repetition when the resources are actually
copied.
Definition
2.2Get the Primary UOM, Std UOM Conv Flag for the old parent from the Item Master - F4101.
2.3Get the Primary UOM, Std UOM Conv Flag, 2nd and 3rd Item Numbers for the new parent from
the Item Master - F4101.
2.4Convert the Old Batch Qty (File format) from primary UOM to display UOM. Call B4000520
- F41002 Get Item UOM Conversion. Return the conversion factor: mnOldPrimToDispConvFactor.
2.5Convert the New Batch Qty (File format) from primary UOM to display UOM. Call B4000520 -
F41002 Get Item UOM Conversion. Return the conversion factor: mnNewPrimToDispConvFactor.
2.6Adjust the Old Batch Qty for calculations if the batch is zero.
2.6.2If the display and primary UOMs for the old parent are not equal, divide 1 by the
conversion factor: mnOldPrimToDispConvFactor.
2.7.2If the display and primary UOMs for the new parent are not equal, divide 1 by the
conversion factor: mnNewPrimToDispConvFactor.
Call B4000520 - F41002 Get Item UOM Conversion. Return the conversion factor:
mnNewPrimToOldPrimConvFactor.
2.9If there was an error converting the New parent into the Old Parent's Primary UOM:
2.9.2If mode is equal to '6', set warning message: "142K" - No UOM conversion between
items.
the old parent. This ratio is used to calculate the new quantities for Co-Products,
By-Products, Percent Ingredients, Fixed Ingredients, and Intermediates.
2.11Calculate the ratio for Variable Ingredients:mnOldPrimToDispConvFactor *
mnNewPrimToOldPrimConvFactor / mnNewPrimToDispConvFactor. The ratio is different for Variable Ingredients
because their quantity is expressed as "units per 1 unit of the original parent in Display UOM".
2.12If any errors occurred during this processing, both ratios will be equal to 1.
the BOM changes.
3.2If Mode is equal to '1' or '4', check to see if the F3002 Job Number has already been
initialized. If the Job Number is non-zero, the header cache already exists. Else, if the Job
Number is zero:
3.2.2Initialize the F3002 Header Cache. Write a record for the new parent to the header
cache (B3002040). If the 2nd and 3rd item number were not already retrieved, fetch them
from the Item Master - F4101.
4.2If Copying the Process, New Output Quantity (BQTY) = Old Output Quantity (BQTY) * Ratio
4.2.2Check F4101 - Item Branch for the planning flag.
4.2.3If the item is planned, call B4000930 - Update MRP Net Change.
4.2.4Call B3001080 - Update Low Level Codes.
5.2If Copying the Process, New Output Quantity (BQTY) = Old Output Quantity (BQTY) * Ratio
5.2.2Check F4101 - Item Branch for the planning flag.
5.2.3If the item is planned, call B4000930 - Update MRP Net Change.
5.2.4Call B3001080 - Update Low Level Codes.
must be called to handle all table updates for ingredients)
6.1.2If the Item is a Substitute, and the BOM Log Flag (F3009) is on, call B3000420 -
Update BOM Audit Log.
record.
(QNTY) * Ratio
6.2.2For Fixed Ingredients,
= Old Required Quantity (QNTY) * Ratio
6.2.2.2If the Old Batch Quantity (BQTY) is not zero, do not change the
Required Quantity.
(QNTY) * Variable Ratio
6.2.4Write the Ingredient to the F3002 Detail Cache (B3002040). (F3002 End Document must
be called to handle all table updates for ingredients)
6.2.5Call B3001080 - Update Low Level Codes.
7.2If Copying the Process, New Intermediate Quantity (QNTY) = Old Intermediate Quantity
(QNTY) * Ratio, Insert the new record to F3002.
9.0Close all tables
D3003000A - Data Struct For B3003000
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both |
---|---|---|---|---|
mnOldParentItem | KIT | MATH_NUMERIC | NONE | NONE |
The system provides for three separate item numbers.
1. Item Number (short) - An eight-digit, computer assigned, completely
| ||||
szOldBranch | 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
| ||||
szOldTypeBill | 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.
| ||||
mnOldUnitsBatchQuantity | 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
| ||||
szOldUnitOfMeasure | 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). | ||||
mnOldSequenceNoOperations | OPSQ | MATH_NUMERIC | NONE | NONE |
A number used to indicate an order of succession.
In routing instructions, a number that sequences the fabrication or assembly steps in the
| ||||
mnNewParentItem | KIT | MATH_NUMERIC | NONE | NONE |
The system provides for three separate item numbers.
1. Item Number (short) - An eight-digit, computer assigned, completely
| ||||
szNewBranch | 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
| ||||
szNewTypeBill | 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.
| ||||
mnNewUnitsBatchQuantity | 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
| ||||
szNewUnitOfMeasure | 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). | ||||
mnNewSequenceNoOperations | OPSQ | MATH_NUMERIC | NONE | NONE |
A number used to indicate an order of succession.
In routing instructions, a number that sequences the fabrication or assembly steps in the
| ||||
cMode | EV01 | char | NONE | NONE |
An option that specifies the type of processing for an event. | ||||
szUserId | USER | char | OPT | NONE |
The code that identifies a user profile. | ||||
szWorkStationId | JOBN | char | OPT | NONE |
The code that identifies the work station ID that executed a particular job. | ||||
jdDateUpdated | UPMJ | JDEDATE | OPT | NONE |
The date that specifies the last update to the file record. | ||||
mnTimeOfDay | TDAY | MATH_NUMERIC | OPT | NONE |
The computer clock in hours:minutes:seconds. | ||||
szProgramId | PID | char | OPT | NONE |
The number that identifies the batch or interactive program (batch or interactive object). For example, the number of the Sales Order Entry
| ||||
mnF3002JobNumber | JOBS | MATH_NUMERIC | OPT | NONE |
The job number (work station ID) which executed the particular job. |
B3000160 Convert Batch Quantity | ||||
B4000520 Get Item UoM Conversion Factor | ||||
B9800420 Get Data Dictionary Definition | ||||
N3002060 F3002 Return Line Number | ||||
N3003190 F3002GetLastSubSeqNobyCompLine | ||||
X4101 Validate and Retrieve Item Master |
F3002 Bill of Material Master File |