Online Tutorials & Training Materials | STechies.com
Register Login

User Exits and BAdIs in the Variant Configuration

|| 0

User Exits and BAdIs in the Variant Configuration
Stechies

To optimize business processes in the variant configuration environment, some functions can be changed by the following enhancements (user exits/BAdIs).

User exits

1) CAVC0000 - External API's

Function group: XCAVC

Description | User exit | Include
Provide Customer Enhancements to BOM Item| EXIT_SAPLCAVC_CFG_001 | ZXCAVCU01
Provide Customer Enhancements to BOM Item| EXIT_SAPLCAVC_INST_001 | ZXCAVCU02
Set Customer Enhancements to BOM Item | EXIT_SAPLCAVC_INST_002 | ZXCAVCU03

In the application system, user-defined fields can be added to the item data of the bill of material (BOM). For this purpose, the structure CI_STOP is defined in the ABAP Dictionary.

The user-defined fields are part of individual structures that are transferred to the API interfaces. User exits are provided to read and write data within the APIs.

All user exits are grouped in the function group XCAVC and have a uniform structure.

o There is no error handling
o Each user exit handles only one single item

2) CEI00000 - Availability of Customer Functions in Configuration Editor

Function group: XCEI0

Description | User exit | Include
User Exit: SD Customer Fields in a Configurable Instance | EXIT_SAPLCEI0_001 | ZXCEI0U01
User Exit: Customer Pushbutton 01 | EXIT_SAPLCEI0_010 | ZXCEI0U02
User Exit: Customer Pushbutton 02 | EXIT_SAPLCEI0_011 | ZXCEI0U03
User Exit: Customer Pushbutton 03 | EXIT_SAPLCEI0_012 | ZXCEI0U04
User Exit: Customer Pushbutton 04 | EXIT_SAPLCEI0_013 | ZXCEI0U05
User Exit: Customer Pushbutton 05 | EXIT_SAPLCEI0_014 | ZXCEI0U06
User Exit: Customer Pushbutton 06 | EXIT_SAPLCEI0_015 | ZXCEI0U07
User Exit: Customer Pushbutton 07 | EXIT_SAPLCEI0_016 | ZXCEI0U08
User Exit: Customer Pushbutton 08 | EXIT_SAPLCEI0_017 | ZXCEI0U09
User Exit: Customer Pushbutton 09 | EXIT_SAPLCEI0_018 | ZXCEI0U10
User Exit: Customer Pushbutton 10 | EXIT_SAPLCEI0_019 | ZXCEI0U11

Many customers would often like the option to jump from the configuration editor to their own interfaces and functions to complete the configuration process accordingly. This desired function may relate only to the configurable product. Therefore, the solution should be a modelling option and not a modification carried out in the usual way.

You can design the interface using the interface design in relation to a product or a configuration profile. In the context of this interface design, you can position and group characteristics as you wish. You can form the characteristic group using a pushbutton. The customer can define the name of the pushbutton himself. If you choose the pushbutton, then a modal window is displayed where the characteristics are presented according to the modelling. Using the current system, the customer can activate up to 10 characteristic groups using the freely definable pushbuttons. The pushbuttons are displayed vertically and on the right next to the characteristic value assignment.

3) CCUCEI0B - Customer-Specific Batch-Input Processing

Function group: XCEI0

Description | User exit | Include
Switch Off Standard Batch-Input Screen 0109| EXIT_SAPLCEI0_020 | ZXCEI0U12

The user can use this user exit to deactivate the standard batch input screen 0109 in the function group CEI0 and to use the self-written editing of the batch input. In this case, the export parameter USER_BATCH_INPUT must be set with the value 'X'.

4) CCUCEI0A - Assigned Values Files and Object Characteristics

Function group: XCEI0

Description | User exit | Include
Assigned Values Files and Object Characteristics | EXIT_SAPLCEI0_021 | ZXCEI0U13

The customer enhancement does not allow object characteristics to be stored.

You have the following situation when this customer enhancement is not used in the assigned values file:

The KMAT is valuated in the configuration. The characteristics are saved in the corresponding storage location.

However, if object characteristics are valuated and stored and KMAT is ordered again with another quantity in the same document for example, and the value assignment from storage is used, then the object characteristics are overwritten and the document contains the wrong quantity (object characteristics from storage).

This customer enhancement is used if you do not want to use object characteristics from storage for the current value assignment.

Prerequisite

The export parameter OBJECT_CHAR_NO_LIBRARY in the function module exit_saplcei0_021 must be set.

5) CCUCEI0H - Change F4 Help for Characteristics in the Configuration

Function group: XCEI0

Description | User exit | Include
Change presentation of F4 help | EXIT_SAPLCEI0_022 | ZXCEI0U14

You can manipulate the F4 help for the values on the value assignment screen. This means that you can change the contents of the F4 help. For example, you can specify that certain values that are invalid on certain days (or similar) cannot be transferred (as in change management)

You receive a table in the enhancement that contains all information about the existing values and you can maintain the following parameters (for example) in this table also:

o Additional values can be specified and transferred

o The values is displayed but cannot be transferred

6) CCUCEI0V - Search for Material Variant with Same Values

Function group: XCEI0

Description | User exit | Include
Activate Search for Material Variant with Same Values | EXIT_SAPLCEI0_023 | ZXCEI0U15

The export parameter 'Type_Check' must be set.

If you set 'W' (warning) and at least one material variant is returned, the system issues a warning and saves the material variant upon confirmation.

If you set 'A' (termination) and at least one material variant is returned, the transaction terminates and the material variant cannot be saved.

If you set another symbol or none at all, the check is not carried out.

7) CCUX0100 - Synchronization of Variant Configuration Initialization

Function group: XCUI

Description | User exit | Include
Time of Initialization for Variant Function Program Environment| EXIT_SAPLCUD0_003 | ZXCUIU01

When you use variant functions, these functions have global data. You can use this customer enhancement to initialize these global data areas, for example when saving a sales order or during the material requirements planning run (MRP) to release the relevant occupied storage space.

8) CCUP0001 - Reporting - planning tables

Function group: XCUP

Description | User exit | Include
Check reporting - planning tables| EXIT_SAPLCUD2_800 | ZXCUPU02
Reporting - planning tables | EXIT_SAPLCUTS_800 | ZXCUPU01

You can use the customer enhancement CCUP0001 to report planning tables with your own ABAP source code.

The customer exit EXIT_SAPLCUTS_800 is used to mark planning tables that are not reported by default. You can use the customer exit EXIT_SAPLCUD2_800 to report the planning tables with your own ABAP source code.

9) CCUX0510 - Configuration: Addnl Proc. for Changing Var. Table Entries

Function group: XCUT

Description | User exit | Include
Configuration: Additional Processing When Changing Variant Table Entries| EXIT_SAPLCUD3_001 | ZXCUTU02

After you change a variant table, customer-specific additional processing can be triggered by the user exit.

Prerequisites:

o Variant tables are used (transaction CU60).

o The runtime object for the variant table must also be activated. This can occur in the maintenance transactions for the structure in the variant table in the menu path "Extras -> Runtime Object -> Activate".

10) CCUX0001 - Load functions for configurations

Function group: XCUC

Description | User exit | Include
Configuration Decision to Load Configuration from External Source | EXIT_SAPLCUD0_001 | ZXCUCU01
Load Configuration from External Source | EXIT_SAPLCUXC_001 | ZXCUCU03

You can use this enhancement to load configurations from external sources, for example from the SAP R/2 stand-alone configurator.

11) CCUX0000 - Additional Check for Configurations

Function group: XCUC

Description | User exit | Include
Additional Check on Configuration | EXIT_SAPLCUKO_001 | ZXCUCU02

This enhancement lets you transfer control of the configuration to a customer-specific program after maintenance.

The configuration can be checked. If the configuration is incorrect or incomplete, then the exception INCONSISTENT_CONFIGURATION is triggered.

12) CCUX0002 - Reaction for conflict in object search on class node

Function group: XCUC

Description | User exit | Include
Reaction Option to Conflicts When Finding Objects in Class Node| EXIT_SAPLCUD0_002 | ZXCUCU04

If a conflict situation arises during the object search for a class node, this user exit receives the control and may be able to solve the conflict.

A conflict occurs if

o No object is returned but at least one object is always required.
If a class item has to be replaced by a component but no object is returned, the user exit can be used to select, for example, a material with the corresponding classification.

o Several objects are returned but only one object is allowed. If only one component can be transferred but several objects are returned during the object search, the user exit can be used to determine which object is to replace the class item.

13) CCUX0800 - Level of Detail of Multi-Level Explosion in Configuration

Function group: XCUC

Description | User exit | Include
Level of Detail of Multi-Level Explosion in Configuration| EXIT_SAPLCUKO_002 | ZXCUCU05

The enhancement CCUX0800 allows you to use the function module EXIT_SAPLCUKO_002 as an enhancement component.

By setting the parameter EXPLODE_ALL = 'X', you are able to explode all assemblies. If you want to explode only the configurable assemblies, set the parameter EXPLODE_CONFIGURABLE = 'X'.

If you do not set the parameters or do not use the enhancement, then only the configurable assemblies that can also have a characteristic value assignment are exploded.

14) CCUX0004 - Post-Processing of Configuration with Dependencies

Function group: XCUC

Description | User exit | Include
Post-Processing of Configuration | EXIT_SAPLCUKO_003 | ZXCUCU07

This enhancement allows you to make further changes with object dependencies after the configuration has been completed. After the customer exit has been called, the configurator takes the value changes into account.

The enhancement can be used for SUM_PARTS for example.

15) CCUXINST - Modification for External No. Assignment for Instantiation

Function group: XCUC

Description | User exit | Include
Instantiation Parameters | EXIT_SAPLCUKO_004 | ZXCUCU09

In the result-oriented order BOM, only one explicit material number assignment is possible for the instantiation. This is possible only for the selected item in top-down or bottom-up instantiation. All other items contain an internal material number.

In the function module EXIT_SAPLCUKO_004 of the customer exit, you can maintain the material number, material type, industry sector, template material and material short text. Similarly, you can determine whether number assignment should always run in the background or whether the values should be available as default values for entry.

16) CCUX0005 -Transfer of Item Category by Type Matching

Function group: XCUC

Description | User exit | Include
Transfer of Item Category After Replacing KMAT with a Variant| EXIT_SAPLCEB1_001 | ZXCUCU10

In some cases, the item category may not be retained in type matching for a configurable material in the result screen of the configuration.

You can use this customer enhancement to control which item category is to be chosen for type matching in the order BOM.

17) CCUXSETM -Saving of Manual Changes for SET Processing

Function group: XCUC

Description | User exit | Include
Save Manual Changes for Scenario Sales Order (SET) | EXIT_SAPLCUKO_005 | ZXCUCU11
Import Manual Changes for Scenario Sales Order (SET) | EXIT_SAPLCUKO_006 | ZXCUCU12

*) This is no longer used as of Release 4.5B.

This enhancement allows you to save and load manual changes in the BOMs on the result screen of the configuration in the sales order scenario (SET). The indicator "Manual Changes Allowed" must be set in the configuration profile. The enhancement allows you to make changes in a consistent way in both the BOM master data (transaction cs02) and in the BOMs on the result screen of the interactive configuration (transaction va01 or va02).

18) CCUX0006 - Fixing of an Order BOM

Function group: XCUC

Description | User exit | Include
Exit to "Correctly" Fix an Order BOM| EXIT_SAPLCUKO_007 | ZXCUCU13

When you process order BOMs in the configuration, interim changes to a material BOM are dynamically transferred to the order BOM. This customer enhancement does not allow the dynamic "merging" of changes in the material BOM with the order BOM.

19) CCUX0007 - Definition of BOM Category for Instantiation

Function group: XCUC

Description | User exit | Include
User Exit for Definition of BOM Category for Instantiation | EXIT_SAPLCEB1_002 | ZXCUCU14

You cannot influence the BOM category during instantiation.

However, this customer enhancement does allow you to influence the BOM category of a material to be instantiated.

20) CCUX0008 - No BOM Explosion for Externally Procured Components

Function group: XCUC

Description | User exit | Include
No BOM Explosion for Externally Procured Components | EXIT_SAPLCUKO_008 | ZXCUCU15

The BOM explosion for externally procured components is suppressed in a multi-level variant configuration. There are no business reasons for this. This is done to save performance in the explosion.

The customer exit EXIT_SAPLCUKO_008 allows you to suppress the explosion for externally procured components in order to improve performance.

21) CCUXSTAT - Define BOM Status for Instantiated Materials

Function group: XCUC

Description | User exit | Include
Define BOM Status for Instantiated Materials | EXIT_SAPLCEB1_003 | ZXCUCU16

When a material is instantiated, a BOM is also created for this material. This BOM receives the default BOM status from Customizing. This is also true for the order BOM.

The default status from Customizing is provided for BOM creation in the dialog. It does not necessarily make sense to transfer this status for instantiated materials or order BOMs.

If a material is instantiated, then a BOM (among other things) is also created for this material. This customer enhancement allows you to determine the status of the new BOM. If this enhancement is not activated or the output parameter is not filled, then the default BOM status is transferred from Customizing.

22) CCUX0003 -Parameterization of Finding Objects in Class Node

Function group: XCUC

Description | User exit | Include
Parameters for Finding Objects for Class Item | EXIT_SAPLCEIS_001 | ZXCUCU17

This enhancement is used to control the automatic object search when a class node is replaced.

In the standard system (without this enhancement), the search in the class returns only those objects whose value assignment for the selection-relevant characteristics exactly matches the search variants.

This enhancement also allows objects to be found for which search-relevant characteristics are not valuated.

You can choose the search type in the function EXIT_SAPLCEIS_001 using the class, class type and the object type.

23) CCUXOBTY -Object Types for the Object Search for Class Nodes

Function group: XCUC

Description | User exit | Include
Object Types for the Object Search for Class Nodes| EXIT_SAPLCEIS_002 | ZXCUCU19

The enhancement CCUXOBTY is used to control the object search when class nodes are replaced. The type of objects to be found can be determined here. The enhancement should only be used in the material search. You can control the object search so that material variants can also be found due to their configuration value assignment. In the standard system, material variants can be found only if, apart from the configuration, they are assigned via the usual classification of the class and are valuated accordingly.

The object types are marked with the following constants:

MARA: Classified materials (classified material variants also)
MARC: Configuration of plant-dependent material variants
MARAT: Configuration of cross-plant material variants

In the function EXIT_SAPLCEIS_002, the variable CV_OBJECTTYPE or the table CT_OBJECTTYPES can also be filled depending on whether only one object type (CV_OBJECTTYPE) or several object types (CT_OBJECTTYPES) are to be allowed.

24) CCUXMVAR - Multistep Configuration with Material Variants

Function group: XCUC

Description | User exit | Include
Multistep Configuration with Material Variants| EXIT_SAPLCUKO_009 | ZXCUCU20

The function module EXIT_SAPLCUKO_009 enables the multi-level configuration of material variants.

Export parameter:

EV_MULTILEVEL Multilevel BOM Explosion

For material variants to have multi-level configuration, the export parameter EV_MULTILEVEL has to be filled with 'X' when you leave the module.

25) CCUXDYNP - Dialog for Incomplete Assigned Characteristic Values

Function group: XCUC

Description | User exit | Include
Dialog for Incomplete Assigned Characteristic Values | EXIT_SAPLCUKO_011 | ZXCUCU21

When you use the customer enhancement CCUX0001 (Load functions for configurations), you cannot branch to screen 1005 (function group CUKO) when you have incomplete assigned characteristic values.

The customer enhancement CCUXDYNP allows you to control the call of screen 1005 when loading functions from an external source.

26) CCUXDATU - Explosion Date for Result-Oriented Order BOM

Function group: XCUC1

Description | User exit | Include
Explosion Date for Result-Oriented Order BOM| EXIT_SAPLCASL_001 | ZXCUC1U01

This customer enhancement allows you to influence the explosion date of the order BOM structure in order BOM processing (transaction CU51E). This date is applied to the explosion of the entire structure and cannot be changed for each assembly.

27) CCUXIACD - Maintain Additional Data for Instantiation

Function group: XCUC1

Description | User exit | Include
Maintain Additional Data for Instantiation| EXIT_SAPLCEB1_100 | ZXCUC1U02

In order BOM processing (transaction CU51E), you can create material variants with a related BOM via instantiation. Data of a template material is copied here. You may have to transfer additional data (task list, cost collector, and so on) depending on the scenario.

This SAP enhancement can be used to maintain additional data when saving an instantition.

28) CCUXDATE - Validity Date for Order BOM

Function group: XCUC1

Description | User exit | Include
Validity Date for Order BOM | EXIT_SAPLCASL_002 | ZXCUC1U03

You are using backward scheduling in requirements planning. If the determined start date lies in the past, you must ensure that a valid sales order BOM exists at the start date.

To ensure that an order BOM is also valid in the past, enter a "Valid from" date that lies before the specified start date when you create or change the sales order BOM. The system proposes the system date as the "Valid from" date by default.

This customer enhancement CCUXDATE enables a different validity date from the system date to be proposed when you branch to sales order BOM processing.

29) CUCPDELE - Additional Logic Delete Classification Data from LO-VC View

Function group: XCUCP

Description | User exit | Include
Ignore Selected Objects When Deleting in CLDL| EXIT_SAPLCLDL_002 | ZXCUCPU01
Delete assignment of characteristic to class despite configured object | EXIT_SAPLCUCP_003 | ZXCUCPU02
Deleted Assignment of Class to Object Despite Configured Objects | EXIT_SAPLCUCP_004 | ZXCUCPU03
Delete assignment of profile to object despite configured objects | EXIT_SAPLCUCP_005 | ZXCUCPU04

This customer enhancement allows you to deviate from the standard system settings when deleting configuration profiles, class and configuration data for configured objects.

You can delete

* Configuration profiles

* Class assignments to objects (material) and

* Characteristics from classes

even if there are configured objects (sales orders for example) for this object (material).

Furthermore, you can avoid deleting the value assignments (AUSP entries) for the affected configured objects (sales orders for example) if a characteristic is deleted from a class. This is required to keep the "old" configured objects consistent.

30) CUCPDEL1 - Additional Logic:Delete Classification Data LO-VC View CBASE

Function group: XCUCP

Description | User exit | Include
Delete Assignment of Characteristic to Class Despite Configured Obj. CBASE| EXIT_SAPLCUCP_006 | ZXCUCPU05
Delete Assignment of Class to Object Despite Configured Object CBASE | EXIT_SAPLCUCP_007 | ZXCUCPU06
Delete Assignment of Profile for Object Despite Configured Object CBASE | EXIT_SAPLCUCP_008 | ZXCUCPU07

This customer enhancement allows you to deviate from the standard system settings when deleting configuration profiles, class and configuration data for configured objects.

You can delete

o Configuration profiles

o Class assignments to objects (material) and

o Characteristics from classes

even if there are configured objects (sales orders for example) for this object (material) in the new configuration storage (CBASE).

31) CUCQ0001 - Additional Logic: Selection of Confign Profiles (in FG CUCQ)

Function group: XCUCQ

Description | User exit | Include
Additional Logic for Selection of Configuration Profiles in FG CUCQ | EXIT_SAPLCUCQ_001 | ZXCUCQU01

This customer enhancement allows you to deviate from the standard system settings when selecting configuration profiles.

You can restrict the number of valid configuration profiles.

If the number of configuration profiles is reduced to one, then a manual selection is no longer made.

If the number of configuration profiles is reduced to zero, then this configurable material is deemed not configurable. (No instance is generated)

You can still specify whether the configuration profile is to be manually selected.

Note the following: The configuration parameters (fields) of the individual configuration profiles may never be changed.

32) CCUXSETQ - Component Quantities for Set Handling

Function group: XCUC2

Description | User exit | Include
Enhancement CCUXSETQ, Control: Quantity Comparison Yes/No | EXIT_SAPLCUKO_010 | ZXCUC2U01

You can use the enhancement CCUXSETQ to ensure that the newly calculated quantity is also used for different component quantities in relation to the sales order and the new BOM explosion and that this can still be changed by object dependencies in further processing.

This behavior can be controlled depending on the import parameters

o iv_matnr Material number of the initial material

o iv_plant Plant

o iv_quantity Quantity of initial material

33) CCLD0001 - Extension of the IDoc for ALE Message Type CNPMAS

Function group: XCLD

Description | User exit | Include
Fill the Customer-Specific IDoc Structures for CNPMAS | EXIT_SAPLCLD1_001 | ZXCLDU02
Read the Customer-Specific Enhancements from CNPMAS | EXIT_SAPLCLD1_002 | ZXCLDU03
Update of Data Imported by User Exit by ALE | EXIT_SAPLCLD1_003 | ZXCLDU01

This enhancement allows you to process additional segments in the IDoc for the ALE type CNPMAS.

An IDoc enhancement must be manually extended to include the customer-specific segment for the function of this user exit.

BAdIs (Business Add-In)

1) Handling of Default Values in IDoc/BAPI

BAdI definition | Interface | Note number
CEI0_IDOC_DEFAULTS | IF_EX_CEI0_IDOC_DEFAULTS | 513266

The user can use this BAdI to change the system behavior when creating configurations via BAPIs/IDocs. Set the parameter EV_ADD_DEFAULTS to 'X' if you want to add default values of multi-value characteristics (via object dependencies, $set_default, for example) to the values from the IDoc/BAPI.

2) Saving Inconsistent Configuration in Batch Input

BAdI definition | Interface | Note number
CEI0_BATCH_INCONSIS | IF_EX_CEI0_BATCH_INCONSIS | 554923

The user can use this BAdI to change the system behavior when creating configurations via the batch input. By default, inconsistent configurations are not saved in batch input mode. The system issues error message C1 821 "Inconsistent characteristic value assignment" and the batch input run terminates.

However, if you specifically want to store inconsistent configurations directly without error messages on the database, then this can be done using a corresponding BAdI implementation. The status of the configuration is then automatically set to incomplete (system).

3) External Configuration Format

BAdI definition | Interface | Note number
CUX_ADD_IN | IF_EX_CUX_ADD_IN | 561602

Enhancement to influence display of configurations in BAPI or IDoc format

4) Reset Valuations for Screen_Dep Characteristics

BAdI definition | Interface | Note number
CEI0_RMV_SCREENDEP | IF_EX_CEI0_RMV_SCREENDEP | 563703

The user can use this BAdI to avoid having to save characteristic valuations of characteristics with reference to the structure SCREEN_DEP on the database.

5) Change Object for Configurations Used in Classes

BAdI definition | Interface | Note number
CUCP_UPDATE_OBJECT | IF_EX_CUCP_UPDATE_OBJECT | 501220

You can use the BAdI CUCP_UPDATE_OBJECT to change entries in the table with the configured objects; for example, the field OBJEK that contains the name of the configured object.

6) Direct Value Check for Restrictable Materials

BAdI definition | Interface | Note number
CEI0_CHECK_VALDOMAIN | IF_EX_CEI0_CHECK_VALDOMAIN | 619315

A value is entered manually for a restrictable characteristic. However, this value is not contained in the value range that a constraint has determined by value restriction. An inconsistency is displayed for this in the standard system.

7) Characteristic Valuation Via Value Description On/Off

BAdI definition | Interface | Note number
CEI0_NO_VALUE_DESCR | IF_EX_CEI0_NO_VALUE_DESCR | 629805

If you choose

1. The "Language" setting on the characteristic valuation screen and

2. the GUI setting "Automatic TAB at the end of field", you cannot automatically branch to the next field of the valuation if the characteristic value is entered in the language-independent format.

The system behavior is correct since in this case field length 30 is assumed in order to allow the characteristic valuation both by language-independent entry and by entering the language-dependent denomination.

The user can use this BAdI to change this behavior, similar to the "Neutral" setting.

8) Multilevel Configuration Profile Allows Owner Category RESB

BAdI definition | Interface | Note number
CUCQ_MULTI_FOR_RESB | IF_EX_CUCQ_MULTI_FOR_RESB | 640920

After implementing Note 542967, you can no longer create configurations for networks or production orders with a multi-level configuration profile.

Prior to Note 542967, the creation of such configurations was allowed due to a program error. In fact, a multi-level configuration profile has not been allowed since Note 196665 for the owner type RESB (networks or production orders).

A BAdI is provided that you can use to restore the behavior to what it was before Note 542967.
However, this function does not imply that a multi-level configuration is now possible in the network or production order.

9) Display Invalid Configuration

BAdI definition | Interface | Note number
CEI0_INVLD_POSSIBLE | IF_EX_CEI0_INVLD_POSSIBLE | 527186

This BAdI allows you to display invalid configurations also and to have the system issue the corresponding messages if you use function module VC_I_GET_CONFIGURATION for the display of the configuration.

10) Complete background processing for transaction CU51

BAdI definition | Interface | Note number
CASL_CU51_DARK | IF_EX_CASL_CU51_DARK | 667459

You can use this BAdI (following transaction CU51 or more specifically its update) to execute an additional asynchronous call of transaction CU51 per job, which carries out a full BOM explosion.

11) Do not display change document item

BAdI definition | Interface | Note number
CUAB_CDPOS | IF_EX_CUAB_CDPOS | 710921

In the change document of the configuration for a configurable object, the changes of valuations of all characteristics are recorded within this configuration.

This BAdI gives the user the option to hide the changes of certain characteristics.

If the user does not want to see the characteristic change, he must set the parameter EV_NO_DISPLAY to 'X'. Then the system does not display the changes of this characteristic during the display of the change document.

12) BOM explosion in the configuration

BAdI definition | Interface | Note number
CUKO_STL_PERSONAL | IF_EX_CUKO_STL_PERSONAL | 501034

At the end of the BOM explosion, you can make valuations with regard to the BOM structure.

13) Check Assigned Values

BAdI definition | Interface | Note number
CEI0_CHECK_VALUATION | IF_EX_CEI0_CHECK_VALUATION | 736916

Configuration values were saved. After this, the object dependencies were changed, which would lead to different values in configuration. If the configuration values are reloaded, the user can use this BAdI to trigger a check as to whether changes to the configuration values arise (for example, because the model has changed), before entries can be made.

14) Switch off BOM explosion when you go to configuration

BAdI definition | Interface | Note number
EXIT_SAPLCUKO_013 | IF_EX_EXIT_SAPLCUKO_013 | 524896

This BAdI gives the user the option to deactivate the explosion of the BOM when navigating to the characteristic valuation. If you want to deactivate this explosion, set the export parameter 'E_NO_BOM_EXPLOSION' to 'X': E_NO_BOM_EXPLOSION = 'X'.
In further processing, the BOM is exploded as defined in the configuration profile.

15) Memory problem with large configuration models

BAdI definition | Interface | Note number
CUD0_READ_KNOWLEDGE | IF_EX_CUD0_READ_KNOWLEDGE | 1050267

By implementing the the BAdI CUD0_READ_KNOWLEDGE, you can choose between the memory optimized or the runtime optimized version for reading the object dependencies. The best method strongly depends on the used object dependencies and on the configuration model structure. Therefore, you can only find out which method is best for you by means of a test implementation.

16) Status "soft" lock

BAdI definition | Interface | Note number
CEI0_STATUS | IF_EX_CEI0_STATUS | 748729
CEI0_STATUS | IF_EX_CEI0_STATUS | 1379779

You should be able to set a status manually which the system clears and redetermines automatically for new configurations.

A new status needs to be defined for the class type. This status must be selected as 'Locked' in the status table. In contrast to the existing 'Locked' status, the new status represents a 'soft' lock.

The status that the "soft" lock represents is mapped to two methods in an implementation of the BAdI to be defined.
In the first method, the status text for the selection on the screen SAPLCEI0_0150 is declared. The second method provides the information that it is a "soft" lock which must be converted automatically by the system.

17) Plant Change in Multilevel Configuration

BAdI definition | Interface | Note number
CUKO_PLANT_CHANGE | IF_EX_CUKO_PLANT_CHANGE | 494500

A multi-level configuration in the 'Planned/prod. order' scenario should extend across several plants. You maintain a special procurement key for a material in the material master which specifies that the BOM of this material is to be exploded in a different plant.

However, the configuration programs are not prepared for this. The multi-level BOM explosion terminates as soon as it encounters a material for which such a special procurement key is maintained.

You can use the available modification to activate the explosion of BOMs across several plants for the 'Planned/prod. order' scenario . However, ensure that the materials that are exploded in a plant other than the initial plant are not marked as sales-relevant.

18) Setting date in transaction CU50

BAdI definition | Interface | Note number
CUKO_CU50_DATE | IF_EX_CUKO_CU50_DATE | 1245295

The system date is always proposed for the configuration date in the configuration simulation (transaction CU50). If you require a different configuration date, you have to enter it manually.

This BAdI makes it possible to propose a configuration date that is different from the system date in transaction CU50.

19) Control of date format in BAPI/IDoc

BAdI definition | Interface | Note number

CEI0_IDOC_FORMAT | IF_EX_CEI0_IDOC_FORMAT | 1440006

You edit a configuration using a BAPI or an IDoc and process a characteristic with the date format. The value that you transfer does not correspond with the expected BAPI format. This results in error messages or unexpected characteristic values.

This BAdI allows you to assign the date as a characteristic value to the IDoc/BAPI in any format and to convert to the correct internal format (JJJJMMTT) within the BAdI.

20) Deactivating change documents for variant tables

(as of SAP_ABA 700)

BAdI definition | Interface | Note number
CUVT_CHANGE_DOCUMENTS | IF_EX_CUVT_CHANGE_DOCUMENTS | 1454311

Customizing that allows you to deactivate change documents of variant tables does not exist. If you process large datasets, for example using transaction CU60E, writing change documents may be undesirable.

This note provides a BAdI that allows you to deactivate the change documents.


Related Articles