Variant Configuration - IPC

Introduction to Variant Configuration with an example model Purpose This guide is supposed to be a short introduction to

Views 320 Downloads 157 File size 3MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Introduction to Variant Configuration with an example model Purpose This guide is supposed to be a short introduction to Variant Configuration with a simple example. With that guide one should be able to set up a first configuration model. If you need further information about this topicplease have a look at the online help of SAP, which you can find here: http://help.sap.com.

Variant Configuration To get an understanding of what Variant Configuration actually is let's read the description offered by the SAP Online Help: "Variant configuration is for manufacturing complex products. The manufacturer is always having to offer new variants of its products. Often, new variants are created by modifying existing product designs as you process the order. The important thing is to react quickly to customers' requirements. The customer determines the features of the product. A customer buying a car, for example, can choose the features of the car and combine these features as required. The product configurator improves information exchange between sales, engineering, and production. Variant configuration helps the customer or salesperson to put together specifications for the product and ensure that the product can be produced from these specifications. It also ensures that production costs do not overstep the mark." Now that we know what's behind these two words we can start to build an example model.

Example Model In order to keep this guide compact this model will be quite simple. Let's assume that we want to configure a computer. A computer consists of different components which will be chosen accordingly to the characteristics. Our characteristics of the computer are: Characteristic

VC_CHR_TYPE

Possible Values

  

Office computer Gaming computer Server

Characteristic

Possible Values



Laptop

VC_CHR_CPU

 

A-CPU I-CPU

VC_CHR_MAIN_MEMORY

   

2 GB 4 GB 8 GB 16 GB

VC_CHR_GRAPHIC_CARD

  

N-Graphic Card A-Graphic Card Onboard

VC_CHR_OTHER_EQUIPMENT (multiple values)

  

High-End Sound Card TV Tuner Card Modem

Each characteristic needs exact one entry except VC_CHR_OTHER_EQUIPMENT. Our computer is a "complex" material and consists of other materials. Therefore we need a bill of materials. Each component has got only one characteristic. Characteristic

Possible Values

VC_CHR_Price

Numeric Value

The materials are finished products which are not configurable itself. Bill of materials Components

VC_MAT_A_CPU VC_MAT_MEM_2 VC_MAT_MEM_4

Components

VC_MAT_MEM_8 VC_MAT_MEM_16 VC_MAT_GRAPH_N VC_MAT_GRAPH_A VC_MAT_GRAPH_O VC_MAT_EQU_SOUND VC_MAT_EQU_TV VC_MAT_EQU_MODEM

The characteristics of the computer are not independent among each other. Hence, we define some dependencies. Preconditions: Precondition

Characteristic / Char. - Value

Condition

VC_EX_CON1

Other Equipment

VC_CHR_TYPE 'Server' AND VC_CHR_TYPE 'Laptop'

VC_EX_CON2

8GB + 16GB; A-CPU

VC_CHR_TYPE = 'Server'

VC_EX_CON3

N-Graphic Card + A-Graphic Card

VC_CHR_TYPE = 'Gaming computer' OR VC_CHR_TYPE = 'Lapt

VC_EX_CON4

Onboard

VC_CHR_TYPE = 'Server' OR VC_CHR_TYPE = 'Office computer

Selection conditions As it is described above the components of the computer will be chosen by means of the chosen characteristics. To implement this functionality we need selection conditions. Material

Selection Condition

Material

Selection Condition

VC_MAT_A_CPU

VC_CHR_CPU = 'A-CPU'

VC_MAT_I_CPU

VC_CHR_CPU = 'I-CPU'

VC_MAT_MEM_2

VC_CHR_MAIN_MEMORY = 2

VC_MAT_MEM_4

VC_CHR_MAIN_MEMORY = 4

VC_MAT_MEM_8

VC_CHR_MAIN_MEMORY = 8

VC_MAT_MEM_16

C_CHR_MAIN_MEMORY = 16

VC_MAT_GRAPH_N

VC_CHR_GRAPHIC_CARD = 'N-Graphic Card'

VC_MAT_GRAPH_A

VC_CHR_GRAPHIC_CARD = 'A-Graphic Card'

VC_MAT_GRAPH_O

VC_CHR_GRAPHIC_CARD = 'Onboard'

VC_MAT_EQU_SOUND

'High-End Sound Card' IN VC_CHR_OTHER_EQUIPMENT

VC_MAT_EQU_TV

'TV Tuner Card' IN VC_CHR_OTHER_EQUIPMENT

VC_MAT_EQU_MODEM

'Modem' IN VC_CHR_OTHER_EQUIPMENT

How to transfer the model into the SAP System? First of all we need to define the characteristics. This can be done with the help of transaction CT04. After you're done with that you should create a new class which contains all previously created characteristics. You have to consider one important fact: The class should be created with a class type which is intended for Variant Configuration (SAP Standard: Class type 300). The corresponding transaction is: CL02

If you have done it correctly then you should have something like this:

Now you should apply the preconditions to the characteristics and its values. Bill of materials - Materials in order to create a bill of materials we need - of course - materials. These materials can be assigned to a class. As described above this class has got only one characteristic: VC_CHR_PRICE. Moreover the class doesn't have to be of type 300 because the materials are - in our case - not configurable. If you have created this class we can create each material with transaction: MM01.Here you must specify the industry sector and the material type of the material. In our simple example it's enough to classify the material and to set a plant. Hence, we have to select the Classification and e.g. Purchasing View.

Specify the plant in which the material is used.

Enter the material description and the base unit of measure.

Then classify and valuate the material.

After that you can go on to the Purchasing view which is shown below:

Enter the description, the base unit of measure and a material group.Repeat this step for all components of our computer. Bill of Materials - The computer material Now we created all components of the computer, but something is still missing - the computer itself. So we have to make a new material for our computer. This is the configurable material. You should either select "Configurable Mat" as material type in the start screen or you have to select it in the basic data in order to sign this material as configurable.

Select the Purchasing and Classification view here as well, assign a plant, write a description and classify the material with our computer class. Bill of materials Now we have all things done to create the bill of materials. The transaction CS01 supports us by this task. Here you have to enter the name of the material which is supposed to have a BOM. Moreover the plant and the BOM Usage fields are required.

After that you get the following screen:

After you entered all components the bill of material is nearly complete. You may have wondered about the selection conditions we defined in our model earlier. Now it's time to apply them to each position in our bill of material. To do so, select the component and then choose the dependency assignment or editor via menu.

If you choose to use the editor then you create only a local dependency. The assignment functionality is for global dependencies. (see SAP Online Help - Variant Configuration for more detailed information). If you want to use global dependencies you need to create the dependencies in transaction cu01 first.

After we assigned all dependencies the bill of materials is completed.

Now we have to create a configuration profile with the help of transaction: CU41. First you're asked to choose the configurable object to which you want to assign the profile.

Then you have to enter the name of the - in this case - material. After that you'll get the following dialog:

In the displayed list you can add some configuration profiles, while the priority of each profile depends on the position. (The lower the number the higher the priority). Besides the name of the profile you have to choose the class type of this configuration. In this case we have to choose class type 300 - the SAP standard class type for configurable classes. With double-clicking on the profile name you'll get to the configuration screen of the profile. Besides the basic data which are self-explanatory you can set some other properties. For example you can choose the process which is indented for this material. Each process is explained in the F4help. The next option - BOM explosion - indicates how the bill of material is exploded in the sales order. If you choose "Sing-Level" or "Multi-Level" you have to set the application of the material and you are free to apply a filter.

Now all the settings were made and we can test the configuration. Test of the configuration

You can simulate your configuration with the transaction CU50.

Enter the Name of the material and the plant and press F8. After that you can configure the material by means of the characteristics.

Then you can see the result bill of materials by clicking the marked button.

As a result we receive a bill of material according to the characteristics entered.

Justification of characteristic values in VC Purpose This WIKI page is intended to provide list of Justifications that explains the storage of configuration values.

Overview The values for the configuration are stored in two tables which you can see in transaction CUTABLEINFO. Enter the reference sales order to find the value for characteristic and how it is set. Search for the characteristic in table IBSYMBOL, look for the symbol_id and search it in table IBINVALUES. The importance of this record in IBINVALUES is with the field ATAUT, the value in this field determins how a value was created and how it is controled, for example, if the value for ATAUT is ' ', this means that the value was entered by user. User 2

Action

3

Selection Condition

4

Classification

5

Constraint

6

DDB management

7

Procedure

8

Default

Pricing Conditions 1.Overview

Pricing conditions can be used in sales and purchasing to determine surcharges for configurable materials. The communication with the application calling the configurator is done with the reference characteristics SDCOM-VKOND (sales) and MMCOM-VKOND (purchasing). Pricing conditions can be set by:

  

Direct input to the reference characteristic Manual condition (condition is assigned to a characteristic value) Dependencies The general scheme in pricing (using dependencies) is the following:

1. 2. 3.

Define conditions which correspond to the surcharges in the transaction VK11. Create an SDCOM-VKOND (or MMCOM-VKOND) reference characteristic and attach it to the variant class of your VC model. Create a procedure which implements the pricing logic. We will discuss a concrete example for this scheme in the next sections.

2.Definition Pricing conditions are defined in the transaction VK11. You can change them in the VK12 and display them in the VK13. There are two condition types available:

 

VA00 (absolute values) VA01 (percentage values) After you have specified which condition type you want to use, you need to enter a Sales Organization, a Distribution Channel and a Material before you can specify the pricing conditions in the following screen:

Here we have specified three conditions: EMM_COND_A, EMM_COND_B and EMM_COND_C. These correspond to the surcharges 100€, 200€ and 300€. In this screen you only need to enter the condition name and the amount; the rest is filled automatically.

3.Example Model As an example model we will use a configurable material EMM_KMAT_PRICING with profile "Planned Order". Attached to this material is the variant class EMM_CL_PRICING, which contains the following characteristics:

  

EMM_CH_CONDITION (reference characteristic to SDCOM-VKOND) EMM_CH_NUMERIC (numeric characteristic, no values specified) EMM_CH_CHAR (alphanumeric characteristic with values A, B and C) Remark: We will only talk about pricing in sales orders, so we created an SDCOM-VKOND reference characteristic. Based on the values of the characteristics EMM_CH_NUMERIC and EMM_CH_CHAR we will assign different surcharges to the configurable material EMM_KMAT_PRICING.

4.Manual Pricing Conditions We will start with the characteristic EMM_CH_CHAR and the following pricing logic:

 

If it has the value A, then assign the surcharge EMM_COND_A If it has the value B, then assign the surcharge EMM_COND_B.



If it has the value C, then assign the surcharge EMM_COND_C. Since this type of surcharge assignment is based on manual assignments of characteristic values, they are called manual pricing conditions. Manual pricing conditions are defined in the simulation transaction CU50.

First you go to the F4 help-screen of the characteristic EMM_CH_CHAR and place the cursor next to the value you want to assign the condition to (1). Next you press on the button “Assign variant condition” (2). In the window that pops up, you need to specify the pricing condition (Variant) you want to assign (3). For the value A, this is the condition EMM_COND_A. Finally you confirm with “Save” (4). Similarly, we assign the conditions EMM_COND_B and EMM_COND_C with the characteristic values B and C. Remark: With the switch c_condition_price (include LCEI0FS4) you can change the way the manual conditions are displayed in the F4-Help of the corresponding characteristic.

If the switch is not active, the condition name is displayed (left image). If the switch is active, the associated surcharge is displayed (right image). More information on this can be found in SAP Note 1259021.

5.Pricing Conditions and Dependencies Next we will use the characteristic EMM_CH_NUMERIC to select a pricing condition. The following procedure selects the pricing conditions EMM_COND_C when the characteristic EMM_CH_NUMERIC has the value 3. $self.EMM_CH_CONDITION = 'EMM_COND_C' if $self.EMM_CH_NUMERIC = 3. After we have created this procedure in the transaction CU01, we attach it to the profile of the material EMM_KMAT_PRICING.

6.Displaying Pricing Conditions 6.1 CU50 In the simulation transaction CU50, you get an overview of all the pricing conditions that are selected, after pressing on Pricing (1) and the Conditions (2).

Note that only the condition names and not the actual surcharges are displayed.

6.2 VA01, VA02, VA03 In the configuration screen of a sales order item the surcharges are displayed as well, after pressing on Pricing (1) and Conditions (2).

In the sales order screen you can also display all pricing conditions after pressing on Item condition.

7.Pricing Factors So far we have only talked about setting surcharges in an additive way, i.e. a certain amount is added to the base price of a configurable item. But in some situations it can also be useful to do this in multiplicative way. This is when pricing factors come into play. Suppose there is an additional characteristic EMM_CH_LENGTH in our model for the configurable material EMM_KMAT_PRICING, which represents the length of this item, and you want to charge additional 100€ (EMM_COND_A) for every meter of this item. This pricing scheme can be implemented with a procedure containing the following syntax: $SET_PRICING_FACTOR ($SELF, EMM_CH_CONDITION, EMM_COND_A, EMM_CH_LENGTH) So if EMM_CH_LENTH has the value 5, then to total surcharge is 5*100€. If you want to double the price per meter you can write $SET_PRICING_FACTOR ($SELF, EMM_CH_CONDITION, EMM_COND_A, EMM_CH_LENGTH * 2) As you can see, additional factors are allowed in this syntax as well.

Pricing with reference characteristics in sales document

Problem Base on note 187162 price in sales document can be affected by reference characteristics.

Solution One pre-requistion of this function is that the reference characteristic must be assigned to a variant class from the configuration profile of the material to be configured. To make sure this is fullfilled, program analysis could be done to check if the correct reference characteristic is assigned to the correct variant class. Take the sales order for example. 1) Goto VA02, choose the item and goto configuration screen.

2) Goto debugging mode with /h and hit enter, you will goto the screen. You may also use new debugger.

3) Enter internal table MI in the field names.

4) Double click MI to display the fields and values in it. Then add ATTAB and ATFEL to check the values for these two specific fields.

5) Scroll done to check the whole table content to see if there is an entry with ATTAB=SDCOM and ATFEL=VKOND. If the reference characteristic has been added to the class then there should be at least one entry with ATTAB=SDCOM and ATFEL=VKOND. If all the entries in the internal table MI have no ATTAB=SDCOM and ATFEL=VKOND, then it means the reference characteristic is not added to the class. To find out which characteristic is refering to SDCOM-VKOND that need to be added to the class. 1) Go back to the configuration screen. Goto menu path:

2) Make the settings like below and activate the trace.

3) Change the characteristic value that you think should affect the condition data of the sales document:

4) Deactivate the trace and display it:

5) In the trace list try to find a characteristic called "Pricing", "SDCOM" or "VKOND" and some other names looks like has the relation with the pricing procedure. If no such name exists, you need to check the characteristics which are listed on the trace list one by one.

6) Open any possible characteristic in CT04:

Check the additional data tab to see if the characteristic is referencing the correct structure field:

7) After the correct characteristic is located, you need to open the configuration profile for this material in CU42 and add the characteristic to the configuration class. Or if you know which class it is, you can directly open the class in CL02 and add the characteristic to the class.

After this try to create sales order again for the material and change the characteristic value to see if it can affect the pricing condition correctly.

Type Matching in Customer Independent requirements Customer Independent Requirements is created in MD81. The requirements planning type (corresponds to sales document type) is hard-coded in form VBAK-AUART_GET_PARAMETER according to the transaction being used: Main Program SAPFV45K Source code of FV45KF0V_VBAK-AUART_GET_PARAME FORM VBAK-AUART_GET_PARAMETER. DATA: DA_TVAK LIKE TVAK. CASE T180-TRVOG. WHEN '0'. GET PARAMETER ID 'AAT' FIELD VBAK-AUART. .... WHEN 'B'. GET PARAMETER ID 'BET' FIELD VBAK-AUART. .... As the form comment states, the order type is transaction-dependent. In table T180, MD81 is maintained with 'transaction group B'. Therefore VBAK-AUART is defaulted with 01 for customer independent requirements reading from default value of parameter BET.

(If you want to change the planning requirement type for MD81, you need to go SU01, add the parameter ID 'BET' to the user and change the parameter value to the planning requirement type you want.)

Go to VOV4 to check the item category assignment:

Alternatively, try to debug in MD81 when you come out from the configuration screen and set BP at: Main Program

SAPFV45S

Source code of FV45SFCO_CONFIGURATION_TYPE_MA FORM CONFIGURATION_TYPE_MATCHING ... IF VBAP-CUOBJ NE *VBAP-CUOBJ.

"Hinzufügen Pos

CHECK NOT TVAP-LTYPA IS INITIAL.