MBOM AND EBOM PROCESSING

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.

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. 

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

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

 

 

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.

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.