Variant configuration & advanced variant configuration

Variant configuration 

Prerequisites
  • The material with a material type that supports variant configuration or defined the material as configurable in its material master record
  • Assigned characteristics to the material by allocating the material to a variant class
  • Created a configuration profile for the material, containing at least the configuration parameters
  • Created dependencies and allocated these to characteristics and characteristic values to define the dependencies between characteristics and values
  • Created selection conditions and allocated these to items in BOMs and operations in routings.
  • The item category of the ordered item must allow configuration
  • The Configuration allowed or required indicator must be set for the requirements class

No BOM Explosion


Single-Level BOM Explosion

  • All configurable items can be configured in the sales order, (and not just sales-relevant items). The BOMs of these materials are not exploded in the sales order.
  • In MRP, the required components are determined based on the characteristic value assignments for the header material and the subordinate items as well as the task list operations based on low-level configuration

Multi-Level BOM Explosion

  • All configurable items can be configured in the sales order, (and not just sales-relevant items).
  • Sales-relevant items are copied to the sales order as order items.
  • In MRP, components and operations selected depend on the characteristic values assigned according to the principles of low-level configuration

Process: Sales Order

You can use this processing type to describe variant products that comprise salable configurable materials. These products are supplied together, but are not assembled in a production order.

You can use the item category group to define that requirements transfer and pricing are at component level.

In the sales order, these products are grouped together in a SET. For this reason, this type of processing is also referred to as set processing.


If you only want the assemblies of the header material to appear in the sales order, and the components of subordinate assemblies are relevant to production, you can select the setting BOM explosion: Single-level and process Sales order for the configuration profile of the header material. The sales-relevant BOM of the header material is exploded in the sales order, and the production-relevant BOM is exploded in the planned order or production order.

Process: Order BOM

You use this processing type if you want to make customer-specific changes to the BOM of a material that you configure in the sales order. In the sales order, you assign values to the characteristics of the header material, but the BOM is not exploded in the sales order.

Advanced variant configuration 

Additional information

1394961 - User-Exits und BADIs in der Variantenkonfiguration

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

Release 4.70 and higher can be enhanced as follows:

- User exits

1) CAVC0000 - External APIs

Function GroupXCAVC

Description                       | User Exit              | Include
Customer Enhancement of BOM Item | EXIT_SAPLCAVC_CFG_001  | ZXCAVCU01
Prepare Cust. Enh. of BOM Item | EXIT_SAPLCAVC_INST_001 | ZXCAVCU02
Set customer enhancement in BOM item  | EXIT_SAPLCAVC_INST_002 | ZXCAVCU03

In the application system, the item data of the bill of material can be enhanced with user-defined fields. Structure CI_STOP is defined in the Data Dictionary for this purpose.

The custom fields are part of some structures that are passed to the interfaces of the APIs. To read and write the data within the APIs, user exits are provided.

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

  o   You do not have any error handling
  o   Each user exit only handles a single item

2) CEI00000 - Accessibility of customer functions in the configuration editor

Function Group: XCEI0

Description                       | User Exit              | Include
User exit: SD customer fields       | 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 often want to be able to jump from the configuration editor to their own interfaces and functions in order to complete the configuration process accordingly  . This required function may only refer to the configurable product, which means that the solution should be a modeling option and not a modification made in the usual way.

You can use the interface design to carry out an interface design with reference to a product or a configuration profile. In this interface design, it is possible to position and group characteristics as you wish. You can access the characteristics group using a pushbutton. The name of the pushbutton can be determined by the customer. When the pushbutton is triggered, a modal window appears with which the characteristics are presented according to the modeling. With the current system, the customer can access up to 10 characteristics groups using freely definable pushbuttons. The pushbuttons are displayed vertically and to the right of the characteristic value assignment.

3) CCUCEI0B - Customer-Specific Processing of Batch Input

Function Group: XCEI0

Description                       | User Exit              | Include
Deactivation of Default Batch input| EXIT_SAPLCEI0_020      | ZXCEI0U12

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

4) CCUCEI0A - Value assignment storage and reference characteristics

Function Group: XCEI0

Description                       | User Exit              | Include
Valuation storage and object characteristics | EXIT_SAPLCEI0_021      | ZXCEI0U13

The customer enhancement does not allow you to store object characteristics.

The following situation arises if you do not use this customer enhancement in the value assignment storage:

The KMAT is valuated in the configuration. The characteristics are stored in the appropriate storage location.

However, if reference characteristics are valuated and stored, and the KMAT has the second If, for example, a different quantity is ordered in the same document and the value assignment is taken from the storage, the reference characteristics are overwritten and the incorrect quantity (object characteristics from the storage) is returned to the document.

This customer enhancement is used if no object characteristics are to be taken from the 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 input help for characteristics in the configuration

Function Group: XCEI0

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

On the value assignment screen, you have the option of manipulating the F4 help for the values, that is: You can change the content of the existing F4 help. For example, you can define that certain values that are not valid on certain days (as in engineering change management) or similar values cannot be transferred.

In the enhancement, a table is transferred that contains all information about the existing values and in which you can maintain the following parameters, for example:

o   Additional values can be specified and transferred

o   The value is displayed but must not be transferred

6) CCUCEI0V - Search for material variant with same value assignment

Function Group: XCEI0

Description                       | User Exit              | Include
Find Mat. Variants with Same Val..   | EXIT_SAPLCEI0_023      ZXCEI0U15.

The export parameter 'Type_Check' must be set.

If you set 'W' (warning) and at least one material variant was found, a warning is issued and the material variant is saved upon confirmation.

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

If you set a different character or no character at all, the check is not carried out.

7)CCUX0100 - Synchronization of Initialization Variant Configuration

Function GroupXCUI

Description                       | User Exit              | Include
Init. Event for Program Scope VC| EXIT_SAPLCUD0_003      ZXCUIU01.

When variant functions are used, these functions have global data. With this customer enhancement, these global data areas can be When saving a sales order or during the requirements planning run (MRP), for example, can be initialized in order to free up used memory space  .

8)CCUP0001 - Evaluation of Planning Tables

Function Group: XCUP

Description                       | User Exit              | Include
Check Evaluation of Planning Table| EXIT_SAPLCUD2_800      | ZXCUPU02
Evaluation of planning table     | EXIT_SAPLCUTS_800      | ZXCUPU01

You can use customer enhancement CCUP0001 to evaluate planning tables with your own ABAP coding.

The customer exit EXIT_SAPLCUTS_800 is used to identify planning tables that are not evaluated as standard.  You can use the customer exit EXIT_SAPLCUD2_800 to evaluate the planning tables with your own ABAP coding.

9)CCUX0510 - Configuration: Additional Proc. Change Contents of Variant Table

Function Group: XCUT

Description                       | User Exit              | Include
Add. proc. when changing var. table| EXIT_SAPLCUD3_001      | ZXCUTU02

After a variant table has been changed, a customer-specific additional processing can be triggered by the user exit.

Prerequisites:

o   Variant tables (transaction CU60) are used.

o   An additional prerequisite is that the runtime object for the          variant table must be activated. You can do this in the                 maintenance transactions for the structure of 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 Entity from Ext. Qu.  , EXIT_SAPLCUD0_001      ZXCUCU01
Load Configuration from Ext. Qu.  EXIT_SAPLCUXC_001      ZXCUCU03

With this enhancement, it is possible to load configurations from external sources, for example, from the SAP R2 stand-alone configurator.

11)CCUX0000 - Additional Check of Configurations

Function Group: XCUC

Description                       | User Exit              | Include
Additional configuration check       | EXIT_SAPLCUKO_001      | ZXCUCU02

With this enhancement, it is possible to transfer the control to a customer-specific program after the maintenance of a configuration.

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

12)CCUX0002 - Reaction to Conflict in Object Search at Class Node

Function Group: XCUC

Description                       | User Exit              | Include
Reaction Poss. Find class nodes| EXIT_SAPLCUD0_002      | ZXCUCU04

If a conflict situation arises during the object search for a class node, this user exit is given control and can possibly resolve the conflict.

There is a conflict if:

o   no object was found, but at least one object            is always required.
    If a class item must be replaced by a component         but no object was found, you can use the user exit, for example    a material with the corresponding classification is selected.

o   several objects were found, but only one object is allowed.       If only one component can be transferred, but several objects were found during the          object search, you can use the              user exit to define which object is to replace the class item.

13)CCUX0800 - Control of Explosion Level Multilevel Configuration

Function Group: XCUC

Description                       | User Exit              | Include
Ctrl Multi-Level Expl. Step Config.| EXIT_SAPLCUKO_002      | ZXCUCU05

You can use the enhancement CCUX0800 to use the function module EXIT_SAPLCUKO_002 as an enhancement component.

By setting the parameter EXPLODE_ALL = 'X', you can ensure that all assemblies are exploded. If only the configurable assemblies are to be exploded, the parameter EXPLODE_CONFIGURABLE = 'X' should be set.

If neither parameter is set or the enhancement is not used, only the configurable assemblies that can have a characteristic value assignment are exploded.

14)CCUX0004 - Postprocessing Configuration with Object Dependencies

Function Group: XCUC

Description                       | User Exit              | Include
Postprocessing configuration     | EXIT_SAPLCUKO_003      | ZXCUCU07

You can use this enhancement to make further changes with object dependencies after the configuration has been completed. After the customer exit is called, the configurator takes the value changes into account.

The enhancement can be used to B. for SUM_PARTS.

15)CCUXINST - Modification for external number assignment for instantiation

Function Group: XCUC

Description                       | User Exit              | Include
Parameters for instantiation  | EXIT_SAPLCUKO_004      | ZXCUCU09

In the result-oriented order BOM, only explicit material number assignment is possible during instantiation. For top-down, or Bottom-up instantiation is only possible for the selected item. All other items receive 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, reference material, and material short text. You can also determine whether the number assignment should always run in the background or whether the values should be available as default values.

16)CCUX0005 - Transfer of Item Category After Material Variant Matching

Function Group: XCUC

Description                       | User Exit              | Include
Parent Item Cat. After Repl. Cmats| EXIT_SAPLCEB1_001      | ZXCUCU10

During material variant determination for a configurable material in the result screen of the configuration, the item category may not be retained.

You can use this customer enhancement to control which item category is to be selected for material variant determination in the order BOM.

17)CCUXSETM -Saving Manual Changes in SET Processing

Function Group: XCUC

Description                       | User Exit              | Include
Save by Man. Changes SET   | EXIT_SAPLCUKO_005      | ZXCUCU11
Manual Putaway Changes SET *)      | EXIT_SAPLCUKO_006      | ZXCUCU12

*) No longer used as of Release 4.5B.

With this enhancement, it is possible to save and reload manual changes in the bills of material on the results screen of the configuration in the sales order (SET) scenario. The prerequisite for this is that the 'Manual changes allowed' indicator is set in the configuration profile. The enhancement therefore allows you to make consistent changes both in the BOM master data (transaction cs02) and in the BOMs on the results screen of the interactive configuration (from transaction va01 or va02).

18)CCUX0006 - Fixing an Order BOM

Function Group: XCUC

Description                       | User Exit              | Include
Exit fixing an order BOM| EXIT_SAPLCUKO_007      | ZXCUCU13

When you edit order BOMs in the configuration, changes made to a material BOM in the meantime are transferred dynamically to the order BOM. This customer enhancement prevents 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
Def. BOM Category for Inst..    , EXIT_SAPLCEB1_002,       ZXCUCU14

It is not possible to influence the BOM category during instantiation.

However, you can use this customer enhancement 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 ext. comp..  EXIT_SAPLCUKO_008      ZXCUCU15

In a multilevel variant configuration, the BOM explosion is suppressed for externally procured components. There are no economic reasons for this. The only motivation was to save performance in the explosion.

You can use the customer exit EXIT_SAPLCUKO_008 to suppress the explosion for externally procured components to improve performance.

21)CCUXSTAT - Set BOM Status for Instantiated Materials

Function Group: XCUC

Description                       | User Exit              | Include
Set BOM Status Instance Material | EXIT_SAPLCEB1_003      | ZXCUCU16

When a material is instantiated, a BOM is also created for this material. This BOM is assigned the default BOM status from Customizing. The same applies to the order BOM.

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

If a material is instantiated, a bill of material is also created for this material. This customer enhancement allows you to define the status of the new BOM. If this enhancement is not activated or the output parameter is not filled, the default BOM status is transferred from Customizing.

22)CCUX0003 - Parameterization of Object Search at Class Node

Function Group: XCUC

Description                       | User Exit              | Include
Param. No. Object Search to 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 only finds objects whose values for the selection-relevant characteristics exactly match the search specifications.

This enhancement can be used to cause  objects to be found for which search-relevant characteristics are not valuated.

The decision about the type of search can be made in function EXIT_SAPLCEIS_001 using the class, class type, and object type.

23)CCUXOBTY - Object Types for Finding Objects in Class Nodes

Function Group: XCUC

Description                       | User Exit              | Include
ObjTxt f. Objects for class ID| EXIT_SAPLCEIS_002      | ZXCUCU19

The enhancement CCUXOBTY is used to control the object search when class nodes are replaced. You can use it to determine the type of objects to be found. The enhancement should only be used when searching for materials. The object search can be controlled in such a way that material variants can also be found on the basis of their configuration values. In the standard system, material variants are only found if, apart from the configuration, they are still assigned to the class using the usual classification and assigned values accordingly.

The object types are named with the following constants:
MARA: Classified materials (also classified material variants)
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 be filled, depending on whether only one object type (CV_OBJECTTYPE) or several object types (CT_OBJECTTYPES) are to be allowed.

Note that no recursiveness check takes place for the material variants found using the configuration value assignment (non-classified). It is important to note in modeling that recursions do not occur at any time.
You must also ensure that these material variants have a correct low-level code because the adjustment no longer takes place using the class item.

24)CCUXMVAR - Multilevel Configuration with Material Variants

Function Group: XCUC

Description                       | User Exit              | Include
Multilevel config. with mat. mgmt| EXIT_SAPLCUKO_009      | ZXCUCU20

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

Export parameters:

EV_MULTILEVEL      Multilevel BOM Explosion

For multilevel configuration of material variants, the export parameter EV_MULTILEVEL must be set to 'X' when the module is exited.

25)CCUXDYNP -Dialog for Incomplete Characteristic Value Assignment

Function Group: XCUC

Description                       | User Exit              | Include
Dialog for Incomplete Char. Val..  EXIT_SAPLCUKO_011      ZXCUCU21

When you use the customer enhancement CCUX0001 (loading functions for configurations), the system prevents you from branching to screen 1005 (function group CUKO) if the characteristic value assignment is incomplete.

You can use customer enhancement CCUXDYNP to control the call of screen 1005 when loading the configuration from an external source.

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

Function Group: XCUC1

Description                       | User Exit              | Include
Expl. Date Res. Anal. Order BOM| EXIT_SAPLCASL_001      | ZXCUC1U01

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

27)CCUXIACD - Maintaining Additional Data During Instantiation

Function Group: XCUC1

Description                       | User Exit              | Include
Maintain additional data for installation| EXIT_SAPLCEB1_100      | ZXCUC1U02

During order BOM processing (CU51E), you can use instantiation to create material variants with a corresponding BOM. When you do this, the system copies data from a reference material. Depending on the scenario, it may be necessary to transfer additional data (routing, cost collector, and so on).

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

28)CCUXDATE -Validity date of the order BOM

Function Group: XCUC1

Description                       | User Exit              | Include
Order BOM Validity Date.  EXIT_SAPLCASL_002      ZXCUC1U03

If backward scheduling is used in material requirements planning and the determined start date is in the past, you must ensure that a valid sales order BOM exists for the specified start date.

To ensure that an order BOM is also valid in the past, when you create or change the sales order BOM (transaction CU51), you should enter a "Valid from" date that is before the specified start date. By default, the system date is proposed as the "Valid from" date.

You can use customer enhancement CCUXDATE to propose a validity date other than the system date when you access order BOM processing.

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

Function Group: XCUCP

Description                       | User Exit              | Include
Do Not Consider Objects Del. in CLDL| EXIT_SAPLCLDL_002      | ZXCUCPU01
Assign. Delete characteristics for class  | EXIT_SAPLCUCP_003      | ZXCUCPU02
Assign. Delete class for object   | EXIT_SAPLCUCP_004      | ZXCUCPU03
Assign. Delete profile for object   | EXIT_SAPLCUCP_005      | ZXCUCPU04

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

It is possible to

   * Configuration Profiles

   * Class assignments to objects (material) and

   * Characteristics from classes

even if it contains configured objects (for example, sales orders) for this object (material).

In addition, you can use the valuations (AUSP entries) for the affected configured objects (for example, sales orders) if a characteristic is deleted from a class. This is necessary 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 Char./Class CBASE| EXIT_SAPLCUCP_006      ZXCUCPU05.
Delete Class/Object Assignment CBASE, EXIT_SAPLCUCP_007      ZXCUCPU06
Delete Profile/Object Assignment CBASE, EXIT_SAPLCUCP_008      ZXCUCPU07

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

It is possible to

o   Configuration profiles

o   Class assignments to objects (material) and

o   Characteristics from classes

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

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

Function Group: XCUCQ

Description                       | User Exit              | Include
Addnl Loc. Sel. Configuration profile | EXIT_SAPLCUCQ_001      | ZXCUCQU01

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

It is possible to restrict the number of valid configuration profiles.

If the number of configuration profiles is reduced to one, no manual selection takes place.

If the number of configuration profiles is reduced to zero, this configurable material is regarded as non-configurable. (No instance is created)

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

Caution: The configuration parameters (fields) of the individual configuration profiles must not be changed under any circumstances.

32)CCUXSETQ - Component Quantities in Set Processing

Function Group: XCUC2

Description                       | User Exit              | Include
Component quantities for set deviation.    , EXIT_SAPLCUKO_010,       ZXCUC2U01

You can use the enhancement CCUXSETQ to ensure that the recalculated quantity is used even if the component quantity of the sales document differs from the component quantity of the new BOM explosion, and that this quantity can be changed in further processing by object dependencies.

Depending on the import parameter

o   iv_matnr    Material number of initial material

o   iv_plant    Plant

o   iv_quantity Quantity of the initial material

can be controlled.

33)CCLD0001 - Enhancement of IDocs for ALE Message Type CNPMAS

Function Group: XCLD

Description                       | User Exit              | Include
Fill IDoc structures CNPMAS | EXIT_SAPLCLD1_001      | ZXCLDU02
Import enhancements CNPMAS | EXIT_SAPLCLD1_002      | ZXCLDU03
Update via user exit       | EXIT_SAPLCLD1_003      | ZXCLDU01

You can use this enhancement to process additional segments in the IDoc for ALE type CNPMAS.

A prerequisite for the function of these user exits is that the customer-specific segments have been added manually to the IDoc.

34) CUBX0001 - Configuration: Determine Higher-Level Material

Function Group: XCUBX / X60P

Description                       | User Exit              | Include
Higher-Level Mat. Set Instance| EXIT_SAPLCUBX_001      | ZXCUBXU01
Set higher-level material    | EXIT_SAPLCUBX_002      | ZXCUBXU02
Generate higher-level instance   | EXIT_SAPLM60P_003      | ZX60PU03

This enhancement can be used if several header materials refer to the same BOM. Depending on the header material, some components of the BOM are to be exploded differently. The material number of the header material is transferred to this enhancement. The characteristic value assignment can then be influenced within the enhancement.


- 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

This Business Add-In enables the user to change the system behavior when creating configurations via BAPI/IDoc. If you want the default values of multiple-value characteristics that are to be added to the values from the IDoc/BAPI using object dependencies (for example, using $set_default), you must set the parameter EV_ADD_DEFAULTS to the value 'X'.

2) Saving inconsistent configuration in batch input

BAdI Definition        | Interface                    | Note Number
CEI0_BATCH_INCONSIS    IF_EX_CEI0_BATCH_INCONSIS    554923.

This Business Add-In enables the user to change the system behavior when creating configurations via batch input.  By default, inconsistent configurations are not saved in batch input mode. The system issues error message E821(C1) "Inconsistency of error message detected"  and terminates the batch input run.

However, if you explicitly want to store inconsistent configurations directly in the database without an error message, you can do this using a corresponding BAdI implementation. The status of the configuration is automatically set to incomplete (system).

3) External Configuration Format

BAdI Definition        | Interface                    | Note Number
CUX_ADD_IN            IF_EX_CUX_ADD_IN            

Enhancement for influencing the display of configurations in BAPI or IDOC format.

4) Reset value assignments for Screen_Dec characteristics

BAdI Definition        | Interface                    | Note Number
CEI0_RMV_SCREENDEP     | IF_EX_CEI0_RMV_SCREENDEP     | 563703.

This Business Add-In enables the user to exclude characteristic value assignments of characteristics with reference to structure SCREEN_DEP from being saved to 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, where the name of the configured object is located.

6) Direct value check for restrictable characteristics

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 determined by a value restriction. In the standard system, an inconsistency is displayed for this.

7) Characteristic value assignment with value description on/off

BAdI Definition        | Interface                    | Note Number
CEI0_NO_VALUE_DESCR    | IF_EX_CEI0_NO_VALUE_DESCR    | 629805.

If

1.  "Language" setting on the characteristic value assignment screen and

2.  GUI setting "Automatic TAB at End of Field" is selected, it is not possible to automatically jump to the next field of the value assignment if the characteristic value is entered in the language-independent display.

The system response is correct because, in this case, the field length 30 is assumed to enable the characteristic value assignment by means of language-independent entry as well as by entering the language-dependent value description.

The BAdI enables the user to change this behavior in the same way as for the setting "Neutral".

8) Allow multi-level configuration profile for owner type RESB

BAdI Definition        | Interface                    | Note Number
CUCQ_MULTI_FOR_RESB    IF_EX_CUCQ_MULTI_FOR_RESB    640920.

After you implement Note 542967, configurations for networks or production orders can no longer be created with a multilevel configuration profile.

Before SAP Note 542967, the creation of these configurations was permitted due to a program error. However, a multilevel configuration profile for owner type RESB (networks or production orders) is already forbidden since SAP Note 196665.

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

9) Display of invalid configuration

BAdI Definition        | Interface                    | Note Number
CEI0_INVLD_POSSIBLE    IF_EX_CEI0_INVLD_POSSIBLE    527186.

With this Business Add-In, the user can also display the invalid configurations and display the corresponding messages if the function module VC_I_GET_CONFIGURATION is used to display the configuration.

10) Full background resolution for transaction CU51

BAdI Definition        | Interface                    | Note Number
CASL_CU51_DARK        IF_EX_CASL_CU51_DARK        

With this Business Add-In it is possible to execute an additional asynchronous call of transaction CU51 per job after transaction CU51 - to be more precise, its update - that executes a complete BOM explosion.

11) Do not display change document item

BAdI Definition        | Interface                    | Note Number
CUAB_CDPOS            IF_EX_CUAB_CDPOS            
CUAB_CDPOS            IF_EX_CUAB_CDPOS            

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

With this BAdI, the user has the option not to display the changes of certain characteristics.

If the user does not want to see the change to a characteristic, set the parameter EV_NO_DISPLAY to 'X'. When you display the change document, the system does not display the changes of this characteristic.

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, it is possible to carry out evaluations with regard to the BOM structure.

13) Check Valuation

BAdI Definition        | Interface                    | Note Number
CEI0_CHECK_VALUATION   IF_EX_CEI0_CHECK_VALUATION   736916

A configuration value assignment is saved. Afterwards, the object dependency is changed so that the configuration valuation would be changed. If the configuration value assignment is loaded again, the user can use this BAdI to trigger a check as to whether changes to the configuration values have occurred (for example, due to model changes) before any entries can be made.

14) Switch off BOM explosion when navigating to configuration

BAdI Definition        | Interface                    | Note Number
EXIT_SAPLCUKO_013      IF_EX_EXIT_SAPLCUKO_013      524896

You can use this BAdI to switch off the BOM explosion when navigating  to the   characteristic value assignment. If this explosion is to be switched off  set the parameter 'E_NO_BOM_EXPLOSION' to the value 'X': E_NO_BOM_EXPLOSION = 'X'.
During further processing, the BOM is exploded as defined in the configuration profile.

15) Memory issue with large configuration models

BAdI Definition        | Interface                    | Note Number
CUD0_READ_KNOWLEDGE    IF_EX_CUD0_READ_KNOWLEDGE    1050267.

By implementing the BADI CUD0_READ_KNOWLEDGE, you can choose between the memory-optimized and runtime-optimized version for reading the object dependencies. The optimal method depends heavily on the object dependencies used and the structure of the configuration model, and can therefore only be determined by 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.

It must be possible to set a status manually that the system automatically withdraws and redetermines for a new configuration.

To do this, you must define a new status for the class type. This status must be marked as "locked" in the status table. In contrast to the existing status "Locked", the new status should represent a "soft" lock.

The status that represents the "soft" lock is mapped in both methods in an implementation of the BAdI to be redefined.
In the first method, the status text for the selection is made known on the screen SAPLCEI0_0150. The second method returns the information that this is a "soft" lock that must be converted automatically.

17) Plant change in multilevel configuration

BAdI Definition        | Interface                    | Note Number
CUKO_PLANT_CHANGE      IF_EX_CUKO_PLANT_CHANGE      494500.

A multilevel configuration in the "Planned/Production Order" scenario
is to extend over several plants. To do this, a special procurement key is maintained for a material in the material master. This special procurement key specifies that the BOM of this material is to be exploded in another 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.
With this modification, the explosion of BOMs across several plants can be activated for the scenario 'Planned/Production Order'. However, you must make sure that the materials that are exploded in a plant other than the initial plant are not flagged as relevant to sales.

18) Set the date in transaction CU50

BAdI Definition        | Interface                    | Note Number
CUKO_CU50_DATE        IF_EX_CUKO_CU50_DATE        

In the configuration simulation (transaction CU50), the system always proposes the system date as the configuration date. If a different configuration date is required, this must be entered manually by the user.
You can use this BAdI to propose a configuration date other than the system date in transaction CU50.

19) Controlling the date format in the BAPI/IDoc

BAdI Definition        | Interface                    | Note Number
CEI0_IDOC_FORMAT       | IF_EX_CEI0_IDOC_FORMAT       | 1440006.
You edit a configuration using a BAPI or IDoc and process a characteristic with a date format. The value that you transferred does not correspond to the expected BAPI format. As a result, the system issues error messages or unexpected characteristic values.

You can use this BAdI to transfer the date as a characteristic value to the IDoc/BAPI in any format and to convert it to the correct internal format (YYYYMMDD ) within the BAdI.

20) Deactivation of change documents for variant tables (as of SAP_ABA 700)

BAdI Definition        | Interface                    | Note Number
CUVT_CHANGE_DOCUMENTS  IF_EX_CUVT_CHANGE_DOCUMENTS  1454311.

There is no Customizing that allows you to deactivate change documents of variant tables. If large amounts of data are processed, for example with transaction CU60E, it may not be desirable to write change documents.

This SAP Note provides your BAdI that allows you to deactivate the change documents.

21) CNPMAS IDoc without classification (as of SAP_APPL 617)

BAdI Definition        | Interface                    | Note Number
CU_CNPMAS              IF_EX_CU_CNPMAS              |

During the distribution of configuration profiles using an IDoc (CNPMAS), the classification is also distributed in the standard system.

This BAdI enables the user to distribute a CNPMAS IDoc without classification.








Comments