Contents of the MBOM AND EBOM Processing Screen

Use the fields and options to configure the MBOM and EBOM Processing screen.

Processing Sequence

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.

Input File Formats

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.

Note: Input file fields defined as dates in Costpoint must be 10 characters and formatted as MM-DD-YYYY, with a two-character month (01-12), two-character day (01-31), and a four-character year. Month, day, and year must be separated by hyphens (-).  Input file field types are alphanumeric or alpha (VARCHAR), numeric (DEC, SMALLINT, and INTEGER), and date.

International users: Data can contain non-English characters, provided they are in the ASCII character set. Before creating an ASCII text (.TXT) file, be sure that your keyboard language is set to EN (United States English) to prevent the application from generating errors. 

Deltek recommends the use of .TXT and .CSV file-naming conventions.

Bills of Material Input File Fields

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).

Add a space after the entered value.

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.

If this column is null, leave as null. If value is entered, 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.

If this column is null, leave as null. If value is entered, 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 Percentage Format = 99.99% , enter 99.99
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, the program will set this to Y.

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.

Otherwise, if the Component Type is NOT R (Reference) or T (Tool), then the value will be set to N.

Work Center WC_ID Alphanumeric 12 205 214 N If value is entered, the value must exist in the Manage Work Centers screen in Costpoint Bills of Materials for the logged in Company ID.
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.

If value is entered, the value must exist in the Manage Warehouse screen in Costpoint Inventory for the logged in Company ID.

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.

If value is entered, the value must exist in the Manage Warehouse Location screen in Costpoint Inventory for the logged in Company ID and warehouse ID.

Product Option PROD_OPTION_ID Alphanumeric 15 238 253 N If value is entered, the value must exist in the Manage Product Options screen in Costpoint Product Definition for the logged in Company ID.
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

Assembly BOM Status

  • For MBOM/EBOM:

    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.

  • For PBOM:

    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.

Adding New BOM Rows

  • For MBOM/EBOM:

    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.

  • For PBOM:

    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.

Changing and Deleting BOM Rows

  • For MBOM/EBOM:

    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.

    Note: 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, you can make BOM line changes only to the line with the latest effective ending date. If you change a configuration ID on a given BOM line, you must delete the old row with one input file record, and then add the new row with another record. To add a BOM line with the same line number and configuration ID, you must first change the effective ending date, then add a new row.

    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.

  • For PBOM:

    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.