Page tree
Skip to end of metadata
Go to start of metadata



I have assigned a configurable material to a material variant in the Basic data / MRP3 view by mistake. Why is it not possible to delete this material and assign a different configurable material?

If the material variant has already been used, one should not remove the assigned configurable material. The standard design does not allow it to remove or change the assignment of a configurable material to a material variant once it is created, as this can lead to irreparable inconsistencies in the database. The only solution offered by the SAP standard is the deletion of the material. However, if no configuration is created yet for the material variant, and you are not willing to archive the material, then you can contact your local consulting partner. Since this is a non standard procedure a customer specific report can be provided after doing certain checks.

I use a multilevel configuration over different levels. The higher level is exploded but why is the lower level BOM not exploded in the structure?

  •  If the low level assembly is configurable, you should check the combination of both the configuration profiles CU42) of header material and item. Eg if you have combination as Plnd Order/Multilevel explosion (header material) and Plnd Order/None explosion (item) then the configuration profile for the item is not active. More information can be found in note 148778.
  • If the low level assembly is not a configurable material but a variant material(MRP3/Basic data view) then the BOM is not exploded further. Please review note  456510  for more information.
  • If you have maintained a special procurement key for a material in the material master which specifies the BOM explosion in a different plant.then multi-level BOM explosion is terminated. More information can be found in notes 494500  and 700179  and 700179.

I want to change the BOM explosion setting in the configuration profile. When I try to change it, the system gives an error that you cannot change the configuration profile. How can I change the profile?

If configured objects (e.g. sales orders) exists for this configuration profile, then it is not possible to change the profile. The only solution is to create a new configuration profile.

I have a class node in the BOM for searching components. I have maintained classifications which have more than one material that fulfills this condition, but the system only replaces it with one component. I have also checked 'multiple selection flag' in the class (CL02). Why do I only see one component?

It is not possible to replace a class item with more than one object. 'Multiple selection flag' only means that all the objects are shown in the result screen (This Only applies to Profile SET/ORDER BOM with Flag 'Manual changes allowed' ticked) however it is only replaced by one component. Note 438683 describes the functionality of the flag. Usually when more than one item is found, the first one (or the last one) is used to replace the class node. User exit CCUX0002 allows you to influence this behaviour, but does NOT enable you to replace the class with multiple objects. It only finds all the objects which fulfill the condition and you can then define in your coding which item to select. Eg if you find material A, B and C, you can write your own coding in the User-Exit to choose B instead of A. More information on the exit can be found under the documentation of the Exit.

Why is it not possible to create restrictable characteristic with additional and multiple values selected?

  • Restrictable characteristics let you manipulate the allowed values of characteristics. If the allowed values of a characteristic depend on the values assigned to other characteristics, you can use restrictable characteristics to ensure that you only see the values that are really allowed, so that your configuration is consistent. Allowing additional values will cause inconsistent becaviour with restriction.
  • Restrictable characteristics are only usefull if they are restricted by constraints to one value. In this context a characteristic reacts like a single value one. Multiple values can only be used in SAP internet sales solution for variant configuration.

A class node is replaced by a configurable material. When I try to configure the resulting material, the error message CX051 is raised, stating that it is not possible to assign values to the item. Why is it not possible to assign values here?

You are using a class node of class type 200. In order to be able to configure also the resulting material, a class node of class type 300 must be used. Furthermore the combinations of configuration profiles must be possible and allowed. Please check note 148778  on this matter.

When displaying configuration data of a sales order in the transaction VA03 it can happen that I see other characteristic values than on the database. Why do I see different values here?

Even in displaying transaction VA03 (and also in others, such as the MM03 when displaying a material variant) the configuration is carried out. That means you will always see the latest configuration instead of what is stored on the database. If the configuration model has been changed, other characteristic values could be derived (e.g. by dependency knowledge) than the characteristic values on the database. The actual configuration data can be stored on the database by saving the new configuration once again.
Note 394561 describes this situation and includes a switch with which the behaviour can be changed for configurable materials without BOM explosion.

"Price is not been updated";  "Conditions are not changed"

Mostly the problem is that no reference characteristic with reference to field SDCOM-VKOND has been assigned to the corresponding variant class of the configurable material (Note 187162). All reference characteristics to SDCOM-VKOND taking part in pricing must be assigned.

How to check?  First check which reference characteristics to SDCOM-VKOND exist on the system. For that display table CABN in se16 for entries in ATTAB = SDCOM and ATFEL = VKOND. There you have the list of reference characteristics to sdcom-vkond.  Now display the configuration profile (cu43) of the material in question. On the basic data tab you can proceed to the class assignment. Check here if one of the reference characteristics to sdcom-vkond has been assigned.  Another very easy way to find out if a reference characteristic had been assigned is to check in debugger. For that start the debugger from the main configuration window. Display the internal table mi with the fields ATTAB and ATFEL. Here you can see the characteristics assigned to the class and which tables they refer to. There should be at least one enry here with ATTAB = SDCOM and ATFEL = VKOND.  In order to check if more than one reference characteristic is involved in pricing activate the configuration trace (Extras - Trace - Settings) and perform the steps given by the customer in configuration. After that display the trace (Extras -  Trace - Display) and search for the characteristics you have found in table se16. All those characteristics must be assigned to the class.

Possible other Solution:
Sometimes the conditions are not derived correctly because of the usage of function module VC_I_GET_Configuration in customer own coding.


Breakpoints: CEI0_GET_CONDITIONS, VC_I_GET_Configuration

When trying to configure an item message cx051 - You cannot assign items to item XX - occurs.
  • The Combination of Configuration Profiles is not allowed (note 148778). In order to check the profile choose "Environment - Configuration Profile" - Tab "Config Initial Screen"
  • A class position of class type 200 is been used

Check if the component customer wants to configure had been derived from a class position. In the Result Screen flag the component and click on the Information button (F5). In the information window you will see if the item category has been a class position.    
In cs02 you can check if a class position of type 200 is been used.

Different errors when processing an Idoc or a BAPI, eg cu013. 

Generally one wants to find out why an inconsistency occurs when processing the idoc/bapi. For that set a breakpoint in fm CUXC_EXTERNAL_PROCESSING_START:

*..enable trace module as additional debug tool

*..VBN19980713:40CP45..did cause to many questions (trace window) *   IF GL_GUI_MODE = 'X' AND ( SY-BINPT = 'X' OR GL_TESTMODE = 'X' ).     IF GL_TESTMODE = 'X'.

 You can set this two flags to X to enable the trace and foreground functionality. Then use we19 to process the Idoc. But be careful with that as this creates a new idoc and the document is been saved. Therefore use a test-system for that. Alternatively use bd87 to process the Idoc. Choose button "Inbound function module" with function module "idoc_input_orders". Set the parameter "call in debugging mode" and in foreground after error. The system stops at the BP set in "CUXC_EXTERNAL_PROCESSING_START". Set the mentioned flags to X in order to enable the trace and the foreground functionality. Now you have got the possibility to see which object dependencies are carried out and if one of those fails. Furthermore you might have got information about inconsistencies and about required characteristics not set. This is a good starting point to continue your analysis. In Idocs/BAPIS reference characteristics and default values are not considered. But there exists a switch to change that. Please check the notes 350407 and 754216 regarding this.

Breakpoints: cuxc_external_processing_start, cei0_ddb_set_values_for_idoc, cuxi_get_multi_configuration,

A component is missing and you are not sure if that could be caused by configuration. You observe that e.g. in the production order.


EXPORTING             object_type          = 'STPOB'
            itype                = ls_itype
            master_data          = c_stpob
            date                 = date
            selection_conditions = lt_selconds
            procedures           = lt_procedures
            RESULT               = lv_result
            inferred_values      = lt_inferred_values
*              retcode              =       
             internal_error       = 1
            OTHERS               = 2.

CUBX_CONFIGURE_STPOB resp. CULL_CONFIGURE_ITEM is been called for each position.In C_stpob you can see the component which is currently been processed (IDNRK, POSNR). Proceed to the component manually you are interested in or set a Watchpoint to C_STPOB-IDNRK/C_STPOB-POSNR. If the position in question had been reached you can see the selection conditions attached to this component in "lt_selconditions". The number represents the cukb-knnum. Continue with F6 and check the entry in lv_result.  The Selection Condition is been fulfilled if lv_result is (T)rue. If lv_result is (F)alse the selection condition is not fulfilled and the component disappears. You can see that after the FM CUBX_CONFIGURE_STPOB.


Message IO226 "Configuration of serial number & incompatible with document item" and/or message cx126 (configurations X and Y are different) appears 

This message appears if configuration of the serial number and configuration of the position are not the same. First we need to find out which configurations are been compared. For that you can set a breakpoint here:

Include: LIPW1F18

        EXPORTING                                                               "RZ910824
          IV_CUOBJ1                     = P-CUOBJ                         "RZ910824
          IV_CUOBJ2                     = EQUI-CUOBJ                    "RZ910824
*         IV_EXCL_IND                   = '2'
          IV_EQUI                       = EQUI                                "1085771
          IV_INVALID_POSSIBLE           = 'X'                             "1348077
*       TABLES
*         ET_ATNAM                      =
        EXCEPTIONS                                                            "RZ910824
          CONFIGURATION_DIFFERENT       = 1.                       "RZ910824


Here you can see with which instances the function module is been called (P-CUOBJ, EQUI-CUOBJ). The function returns sy-subrc = 1 if the configurations are different. Once you have got the instances being compared you can use report RCU_COMPARE_CONFIGURATIONS to find out the differences between the 2 configurations.
If a material variant is been involved it might help to save the configuration of the material variant again. This could help if the configuration model (e.g. dependency) had been changed, therefore new values been derived for the variant, but the configuration of the variant not been saved after the change. With Report RCU_EXCL_CHARACTERISTICS (see note 901610) characteristics can be excluded during the type matching and/or during the comparison of the configuration results of serial number processing. If this report is been executed for the characteristics with different values those characteristics are not taken into account for comparison anymore.




Dump MESSAGE_TYPE_X with message CUIB1699 appears. This happens if the system wants to save a configuration which already exists for another owner. Always check for actual notes regarding this dump. There can be different causes why the dump occurs and hence different solutions are possible:
  • Report RCUIB_DELETE_DUPLICATE_CFG from note 901893 can help if duplicate configurations which are not used any more exist. The report should be run with the option "do not check for duplicate owners" flagged.  CAUTION: If the customer is a MILL-Customer and uses sales order versions the report must not be used!!

  • Report Z_Correct_novbap_cuobj_ibinown can be used for the following situation: In the VBAP-CUOBJ no instance is been stored. But in table ibinown there is an entry stored for the position of that customer order. The report checks that and stores the instance from ibinown in table vbap for the position.

  •  User Exit maybe one of the following function modules are called in a User Exit:  cucb_set_configuration, cucb_configuration_to_db, cuko_configuration_to_db 

  • Problem with Number RangeFor newly created orders check for which object the configuration is been tried to set. Maybe the order number does already exist in vbap? You can check for which object cucb_set_configuration is been called. does the dump also appear if you create an order without any position? Configuration is been saved before the order is been saved. Therefore the dump occurs in configuration first if there is a problem with number ranges. Check ranges -> snro RV_BELEG 

cucb_set_configuration, cucb_configuration_to_db, CUKO_CONFIGURATION_TO_DB


RCUIB_DELETE_DUPLICATE_CFG, Z_Correct_novbap_cuobj_ibinown


  • No labels