Show TOC

New Fields For Pricing

Basics of modification in pricing

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:

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

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.