Show TOC
New Fields For
Pricing
Basics of
modification in pricing
- The following communication structures are
relevant in pricing:
- 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:
- 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:
- 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.