The primary sort of input files is by BOM type (that is, M (MBOM), E (EBOM), and P (PBOM), followed by the assembly part/assembly part revision ID (ASY_PART_ID, ASY_PART_RVSN_ID). Within this sort sequence, the process sorts rows by record type (REC_TYPE); record types with a status of C (Changes), D (Deletions), and A (Additions) are processed first, second, and third, respectively. The last sort sequence is in descending order by assembly part low-level code (LOW_LVL_CD_NO), which is a hidden, system-generated number, and by component line number (COMP_LN_NO).
There is one input file record for each BOM row processed, and the input file record is deleted after processing. Any given input file record should not affect more than one BOM row at a time.
The module, functions, and parameters for this process are defined on the preprocessor screen. Only one user at a time can run this application. After selecting the input file and settings in the Input File and Processing Options group boxes, click the arrow next to and select Import Bills of Material or Import and Print Bills of Material. Selecting one of these options updates all applicable Costpoint tables for this preprocessor, if the input file has no E (Error) type errors associated with it. The input file cannot have any W (Warning) type errors associated with it if you selected the Prevent Insert/Update if Warning Conditions Exist check box. For more information on these two errors, see the Error Processing and Input Files section.
Column Name |
Costpoint Column |
Field Type |
Field Length |
Starting Position |
Ending Position |
Required |
Notes (when adding a new row) |
Record Type |
REC_TYPE |
Alphanumeric |
1 |
1 |
1 |
Y |
Must be A (Add), C (Change), or D (Delete). |
BOM Type |
BOM_TYPE |
Alphanumeric |
2 |
2 |
3 |
Y |
Must be M (MBOM), E (EBOM), or P (PBOM). |
Assembly Part ID |
ASY_PART_ID |
Alphanumeric |
50 |
4 |
54 |
Y |
For fixed length file format, limit to 30 characters. For delimited file format, increase field size to 50. |
Assembly Part Revision |
ASY_PART_RVSN_ID |
Alphanumeric |
10 |
55 |
65 |
N |
For BOM Type = M or E and If the Allow Multiple Revisions for Each Item check box is selected in the Product Definition Corporate Settings subtask in Product Definition Settings, a valid revision ID for the entered part must be entered. For fixed length format, limit to 3 characters. For delimited format, increase field size to 10. |
Assembly BOM Status |
ASY_REL_CD |
Alphanumeric |
1 |
66 |
67 |
N |
Must be R (Released), U (Unreleased, Unfirmed), P (Partially Released), or F (Firmed). |
Line Number |
COMP_LN_NO |
Numeric |
5 |
68 |
73 |
Y |
For fixed length file format, limit to 4 characters. For delimited file format, increase field size to 5. |
Component Part ID |
COMP_PART_ID |
Alphanumeric |
50 |
74 |
123 |
Y |
For fixed length file format, limit to 30 characters. For delimited file format, increase field size to 50. |
Component Part Revision |
COMP_PART_ RVSN_ID |
Alphanumeric |
10 |
124 |
133 |
N |
For BOM Type = M or E and If the Allow Multiple Revisions for Each Item check box is checked in the Product Definition Corporate Settings subtask in Product Definition Settings, a valid revision ID for the entered part must be entered. For fixed length format, limit to 3 characters. For delimited format, increase field size to 10. |
Component Quantity Per |
COMP_QTY |
Numeric |
14 |
134 |
148 |
Y |
|
Component Find Number |
COMP_FIND_ID |
Alphanumeric |
4 |
149 |
152 |
N |
If this column is null, set to line number, filling with zeros (for example, Line 7 becomes 0007). |
Component Released (Y/N) |
COMP_RL_FL |
Alphanumeric |
1 |
153 |
154 |
N |
|
Component Effective Starting Date |
COMP_EFF_ START_DT |
Date |
10 |
155 |
164 |
N |
If this column is null, set to current date. Date format is MM-DD-YYYY. |
Component Effective Ending Date |
COMP_EFF_END_DT |
Date |
10 |
165 |
174 |
N |
If this column is null, leave as null. Date format is MM-DD-YYYY. |
BOM Configuration |
BOM_CONFIG_ID |
Alphanumeric |
10 |
175 |
184 |
N |
|
Make/Buy Code (M/B) |
MAKE_BUY_CD |
Alphanumeric |
1 |
185 |
186 |
N |
If this column is null, system will retrieve the value of the make/buy status of the component part as defined in the Manage Parts. |
Component Type |
COMP_TYPE |
Alphanumeric |
1 |
187 |
188 |
N |
If entered, valid values are: B (Buy with Components), P (Phantom), R (Reference), S (Standard), T (Tool). If this column is null, sysetm will retrieve the value of the make/buy status of the component part as defined in the Manage Parts. |
Quantity Type |
QTY_TYPE |
Alphanumeric |
1 |
189 |
190 |
N |
If this column is null and the As-Required check box is selected on the Manage Parts screen in Costpoint Product Definition, set Quantity Type to R (As required). If this column is null and the As-Required check box is not selected, set to A (Per Assembly). |
Scrap Percentage |
SCRAP_PCT_RT |
Numeric |
10 |
191 |
200 |
N |
|
Stop Explosion (Y/N) |
STOP_EXPL_FL |
Alphanumeric |
1 |
201 |
202 |
N |
If this column is null, and the Make/Buy Code is M and/or the Component Type is B (Buy with Components), the program sets the Stop Explosion field to N for component lines in the Manage Manufacturing Bills of Material/Manage Engineering Bills of Material or the Release Manufacturing Bills of Material/Release Engineering Bills of Material screens. Otherwise, set the check box to selected. |
Omit Requirements (Y/N) |
OMIT_RQMT_FL |
Alphanumeric |
1 |
203 |
204 |
N |
If this column is null, and the Component Type is R (Reference) or T (Tool), the program will set the Omit Requirement field to Y for component lines in the Manage Manufacturing Bills of Material/Manage Engineering Bills of Material or the Release Manufacturing Bills of Material/Release Engineering Bills of Material screens. |
Workcenter |
WC_ID |
Alphanumeric |
12 |
205 |
214 |
N |
|
Backflush Warehouse |
BKFLSH_WHSE_ ID |
Alphanumeric |
8 |
215 |
222 |
N |
If this column is null and the Backflush check box is selected on the Planning Details subtask of the Manage Parts screen in Costpoint Product Definition, the program sets to the Default Warehouse. |
Backflush Location |
BKFLSH_INVT_ LOC_ID |
Alphanumeric |
15 |
223 |
237 |
N |
If this column is null and the Backflush check box is selected on the Planning Details subtask of the Manage Parts screen in Costpoint Product Definition, the program will set to default Warehouse Location. |
Product Option |
PROD_OPTION_ID |
Alphanumeric |
15 |
238 |
253 |
N |
|
Proposal ID |
PROP_ID |
Alphanumeric |
20 |
254 |
273 |
N |
Required if the BOM Type is P (PBOM). Otherwise, include 20 spaces for fixed-length formats. Include one comma (or other character) for delimited formats. If value is entered, the value must exist in the Proposal Header table for the logged in company ID. |
Proposal Revision |
PROP_RVSN_ID |
Alphanumeric |
3 |
274 |
276 |
N |
The BOM Type is P (PBOM) and value entered must be valid. Otherwise, include three spaces for fixed-length formats. Include one comma (or other character) for delimited formats. |
Reference Designator |
REF_ DESIGNATOR |
Alphanumeric |
32000 |
278 |
531 |
N |
This can have up to 32,000 characters if file format selected is 'Delimited' and "Use Extended Length Designators" is selected in the Configure Bills of Material Settings screen. |
Component Line Notes |
COMP_LN_NT |
Alphanumeric |
254 |
532 |
785 |
N |
|
If applicable, you can use the input file to update the status of the assembly part's BOM. Generally, the BOM's Release Status (S_ASY_REL_CD) for the assembly part is set to the value that is in the input file record: R (Released), P (Partially Released), or U (Unreleased). Because an input file can have many records that update the same assembly part, the process must validate the input file records and ensure that they all have the same value for a given assembly part key and BOM type. Rows that contain a null BOM status are ignored only when the assembly BOM status is being determined. If the input file records contain any errors, no rows for that assembly part are processed, including those with a null BOM status.
In most instances, the assembly part's release status is set to the value of the input file record. If all release status values are null for that assembly part's input file records and one or more BOM rows already exist for that assembly part, the release status does not change. If no BOM rows exist for the assembly part and all input file component records for that assembly part have a Comp Release Flag (COMP_REL_FL) of Y (Yes), the assembly part's release status is set to R.
Generally, the PBOM_HDR.S_PBOM_STATUS_CD of the assembly part is set to the Assembly BOM Status (ASY_REL_CD) value in the input file record(s).
For a Record Type of C (Change), if all the PBOM_HDR. S_PBOM_STATUS_CD values are null for that assembly part’s input file records, and one or more PBOM_LN rows already existed for that assembly part, do not change the PBOM_HDR. S_PBOM_STATUS_CD.
For a Record Type of A (Add), if no PBOM_HDR rows exist for the assembly part, and all the input file records for that assembly part have a COMP_FIRM_FL = Y, set the assembly’s PBOM_HDR. S_PBOM_STATUS_CD = F (Firmed).
For a Record Type of A (Add) if no PBOM_HDR rows exist for the assembly part, and one or more input file records for that assembly part have a COMP_FIRM_FL = N or Null, set the assembly’s PBOM_HDR S_PBOM_STATUS_CD = U (Unfirmed)
The input file can also be used to indirectly update the status of the proposal/assembly part’s PBOM (PROP_HDR. S_PBOM_ASY_REL_CD). Because an input file can have many records that update the same proposal/assembly part, the process must validate the input file records to make sure they all have the same value for a given proposal/assembly part key and BOM type.
When the input file is processed, if a BOM line is added and it shares the same line number, assembly part key, and configuration ID with an existing BOM line, the application compares the starting and ending effective dates (COMP_EFF_START_DT and COMP_EFF_END_DT, respectively) for the two records to determine whether there is an overlap.
Two lines with the same line number and configuration cannot share the same effective date. For example, if row 1 has an effective starting date of 01/01/2012, and row 2 has an effective starting date of 03/01/2012, row 1's ending effective date must be earlier than or the same as row 2's effective starting date; otherwise, an error is processed. Similarly, an error is also processed if two rows' effective starting dates are the same, or if the row with an earlier effective starting date contains a null effective ending date.
The input file can be used to add a new PBOM_LN to an existing PBOM_HDR, or it can also be used to add a new proposal assembly part/rev (PBOM_HDR) along with associated components (PBOM_LN).
If an Assembly or Component Part (when ITEM_SETTINGS_CORP. USE_PART_RVSN_FL = N) or Assembly or Component Part/Rev (when ITEM_SETTINGS_CORP. USE_PART_RVSN_FL = Y) does not exist in PART or PROV_PART, and the main screen Create New Provisional Parts check box is selected, the application provides a warning, and if you choose to process records that have warnings, the application creates a new provisional part. The same sequence generator row as ITEM is used to ensure that duplicate keys are not assigned. The default provisional part type entered on the main screen is used when creating the provisional part. If the Create New Provisional Parts check box is not selected, the application generates an error under these conditions, and the record is not processed.
To successfully process an input file record type of C (Change) or D (Delete), the application finds the BOM row, which is referenced by the input file. It looks for the BOM line using the assembly part (where the Allow Multiple Revisions for Each Item check box is not selected on the Corporate Settings block of the Configure Product Definition Settings screen) or assembly part/revision (where the Allow Multiple Revisions for Each Item check box is selected), the component line number, and the configuration ID (if the Use Configuration IDs check box is selected on the BOM Corporate Settings block of the Configure Bills of Material Settings screen). The application changes or deletes the row with the latest effective ending date.
In the Delete Option drop-down list of the Import Bills of Material preprocessor, there are two options for deleting a BOM line: Physically Delete MBOM/EBOM Lines and Make MBOM/EBOM Lines Out of Effectivity.
If you select the Physically Delete MBOM/EBOM Lines option, an input file record with a record type (REC_TYPE) of D (Delete) will delete the BOM row along with any linked BOM text (MFG_BOM_TEXT or ENG_BOM_TEXT) rows. After deleting an MBOM line, the application checks for any other MBOM line rows for that assembly part key, and sets the BOM Exists field (PART. BOM_EXIST_FL) in the Manage Manufacturing Bills of Material or Release Manufacturing Bills of Material screens to Y (Yes) if one or more rows remain, or N (No) if no additional MBOM line rows remain. Similarly, after deleting an EBOM line, the application checks for any other EBOM line rows for that assembly part key, and sets the EBOM Exists field (PART. EBOM_EXIST_FL) in the Manage Engineering Bills of Material or Release Engineering Bills of Material screens to Y (Yes) if one or more rows remain, or N (No) if no additional MBOM line rows remain.
If you select the Make MBOM/EBOM Lines Out of Effectivity option, an input file record with a record type (REC_TYPE) of D (Delete) sets the MBOM and/or EBOM row's effective ending date for the component part (COMP_EFF_END_DT) to the current system date.
To successfully process a Change or Deletion input file, the process must find the PBOM row the input file is referencing.
Look up PROP_HDR.PROP_KEY from the PBOM_HDR table, using Input File PROP_ID and PROP_RVSN_ID.
Using the assembly part (and rev if multi revs is used), the assembly part key must be determined from the PART table. If not in the PART table, check the PROV_PART table (for provisional parts).
Using the proposal key, assembly part key, and component line number, look up the PBOM_LN table. If no match is found, return an error. If a PBOM_LN row is found, that is the PBOM_LN row modified or deleted.
If all PBOM_LN rows are deleted for that proposal/assembly combination, also delete the corresponding row in the PBOM_HDR table.
Set PROP_HDR. RECALC_FL to Y if a PBOM_LN row is deleted or changed.