# BOM Management

## BOM Comparison Configuration

| Administrator privileges are required to configure the BOM Comparison function!
| When initiating a BOM Comparison, you have a number of choices as to how the comparison will be run and how the results will be presented. You may: Enter the parameters which will control the comparison when the function is started, or Use a LogiView procedure to control the function operation and results.
| ### Parameter Input at Function Initiation
| A BOM Comparison is started by the xdiff_start_mmn userexit. That exit can be called with the following parameters:
Parameter | Function | Default
{/OUT={FILE| TABLE}} | Output written to file or table | FILE
{/DEP=xx} | Depth limitation | 15 levels
{/ET=ETNAME} | Name of decision table to use. |
/VIE=SICHT | Name of the view (see ER Model, here ART) |
{/WDG=ENTNAM WDGNAME} | Name of entity and widget that are to be opened in order to save the results | EDB-DIFF EDB-DIF-SLI
{/NOKEYF} | Enable comparison for items with different item numbers. | Only compare when item numbers are the same.
| To start the BOM Comparison with the desired parameters, they must be entered in the Selection Data mask.

## Configure BOM Comparison

| Open the Selection Data mask with the button in the DataView Tool Box. |
| Search for the EDB-CPM-DIFF entry. |
| Select the Menu Assignments folder. |
| Highlight EDB-BOM-STR and select Selection Assignments from the context menu. |
| Use the Edit function in the Menu-Selection mask to put the EDB-CPM-DIFF record into edit status and change or extend the entries in the Parameter column. |
| With the EDB-BOM-STR record selected, select the Create New function on the Menu Data mask.

## Control with a LogiView Procedure

| The DIF/DIF_DT procedure is used to control which fields in the comparison string are displayed. If there is no difference in one of the selected fields, then that portion of the comparison string remains empty.
| Call the DIF/DIF_DT procedure using the Edit Logic function in the Decision Table/Procedures list inside the Decision Table/Procedures Logic Model mask.
| The LogiView Procedure mask is opened.
| The fields to be compared must be declared as local logic model variables. The variable types must agree with the types of the fields to be compared!
| Example:
Variable Name |
| Table Access
DIF_QUA_A( Quantity Comparison) |  | "T_MASTER_STR.QUANTITY", "T_MASTER_STR.C_ID_2" =DIF_CID_SON_A& "T_MASTER_STR.C_ID_1" =DIF_CID_DAD_A& "T_MASTER_STR.POS_NO" =DIF_POS_NO
DIF_QUA_B |  | "T_MASTER_STR.QUANTITY", "T_MASTER_STR.C_ID_2" =DIF_CID_SON_B& "T_MASTER_STR.C_ID_1" =DIF_CID_DAD_B& "T_MASTER_STR.POS_NO" =DIF_POS_NO
| Type agreement is also required when creating comparison strings in the decision table!
| In addition, global system variables are required
Variable Name |
| Type |
| Preset Value
DIF_CID_DAD_A |  | I |  |
DIF_CID_DAD_B |  | I |  |
DIF_CID_SON_A |  | I |  |
DIF_CID_SON_B |  | I |  |
DIF_RET_STR |  | S |  | "NULL"
DIF_POS_NO |  | S |  |
DIF_RET_VAL |  | S |  | 0