You are on page 1of 3

1.

New fields for pricing


Basics of modification in pricing

The following communication structures are relevant in pricing:


o

KOMK (pricing communication header)

KOMP (pricing communication item)

KOMG (allowed fields for condition structures)


For technical reasons, communication structure KOMG is used. It combines the fields from
KOMK and KOMP that are relevant for pricing in the standard system and are offered in the
field catalog of condition tables. If you want to use a new field in the field catalog, you must
add the field to KOMP or KOMK in the following INCLUDES:

header data in INCLUDE KOMKAZ in KOMK

item data in INCLUDE KOMPAZ in KOMP

When you use INCLUDES, the field is automatically added to KOMG and the field catalog.

The routines for assigning values to the new fields in order processing are found in member
MV45AFZZ. Use the following user exits:
o

USEREXIT_PRICING_PREPARE_TKOMK (header fields)

USEREXIT_PRICING_PREPARE_TKOMP (item fields)

The routines for assigning values to the new fields in billing are found in member RV60AFZZ. Use the
following user exits:
o

USEREXIT_PRICING_PREPARE_TKOMK (header fields)

USEREXIT_PRICING_PREPARE_TKOMP (item fields)

Examples for using new fields in pricing


Example 1
In the first example, parts of a document field are to be used in pricing. You want to use the first three digits of
the product hierarchy (PRODH) for pricing, for example. Proceed as follows:
1. Check the data elements in the standard system.
2. Since there is no such data element you have to create the new data element ZZPRODH1. Also
create a domain with the length "3" and the data type "CHAR" for the new data element.
Remember that new data fields must start with the letters "ZZ" or "YY", since SAP reserved these
letters to protect them from being overwritten during a release upgrade.
3. Check whether the product hierarchy (PRODH) is found at header or at item level.
In table VBAP, document field PRODH is defined as an item field.

4. Integrate the field name ZZPRODH in the communication structure KOMP using the INCLUDE
KOMPAZ and allocate the data element PRODH to it.
5. Activate the structure.
6. Check in which table the field PRODH exists.
The field is in table VBAP (sales document: item data).
7. Assign a value to the new field in the FORM routines for sales order processing and billing using
the appropriate user exits:
In sales order processing the user exit is found in member MV45AFZZ. The complete statement is:
FORM USEREXIT_PRICING_PREPARE_TKOMP.
MOVE VBAP-PRODH(3) TO TKOMP-ZZPRODH.
ENDFORM.
The routines for assigning a value to the new fields in billing are found in member RV60AFZZ. The
statement is as follows:
FORM USEREXIT_PRICING_PREPARE_TKOMK
MOVE XVBRP-PRODH(3) TO TKOMP-ZZPRODH.
ENDFORM.
8. Allocate the specifications A, V and 001 to the field ZZPRODH in table T681F. Use "E" has been
added for fields in rebate processing.

Example 2
In the second example, you want to use a partner function, created in Customizing for partner maintenance,
for pricing.
Assume that the partner function was created for a sales representative of the partner type PE. Z1 is defined
as a mandatory function for the customer master record, therefore automatically set in the document and
available in the internal partner table XVBPA.
To use the new partner function for pricing, proceed in the same way as for the previous examples.
1. Create a new data element, in this example, data element ZZVRTZ1 with domain PERNR.
2. Include the field ZZVRTZ in KOMK using KOMKAZ and allocate data element ZZVRTZ1 to it.
For order processing, a value is assigned to the field in the user exit for member MV45AFZZ. The entries in
the user exits are protected during a release upgrade. The statement is as follows:
FORM USEREXIT_PRICING_PREPARE_TKOMK.
PERFORM XVBPA_LESEN (SAPFV45K) USING 'Z1' VBAP-POSNR SY_TABIX.
MOVE XVBPA-PERNR TO TKOMK-ZZVRTZ.
ENDFORM.
For billing, a value is assigned to the field in the user exit of member RV60AFZZ. The entries in the user exits
are protected during a release upgrade. The statement is as follows:
FORM USEREXIT_PRICING_PREPARE_TKOMK.
PERFORM_XVBPA_SELECT_USING'Z1'.
MOVE XVBPA-PERNR TO TKOMK_ZZVRTZ1.
ENDFORM.

You might also like