cancel
Showing results for 
Search instead for 
Did you mean: 

Adding new field to Pricing-steps with ABAP code requested

Former Member
0 Kudos

Hi

Could any please let me know the steps with ABAP code how to incorporate a new field from MARA table into Pricing(KOMK/KOMP).

Would appreciate If you have any document to please send it to my email id sudduval@yahoo.com

Points will be rewarded

Regards

Suddu

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi SUD

No, the thread is all about adding fields to the tables.

and I got very clear deatail about that from <b>MR,Naveen Bhattini</b>.

reward him. and the details are given below from <b>MR,Naveen Bhattini</b>

Dear Kris,

ADDING OF NEW FIELDS IN PRICING

In Pricing in SD the fields on the basis of which pricing is done are derived from the FIELD CATALOG which is a structure KOMG .This structure is used to transfer transaction data to the pricing procedure in SD and is also known as communication structure.This structure KOMG consists of two tables KOMK for Header related fields and KOMP for item related fields. The fields which are not in either of the two tables KOMK and KOMP cannot be used in pricing .Sometimes a need arises when the pricing is to be based on some other criteria which is not present in the form of fields in either of the two tables. This problem can be solved by using USEREXITS which are provided for pricing in SD. Pricing takes place both when the SALES ORDER ( Transaction VA01) is created as well as when INVOICING ( Transaction VF01) is done.Hence SAP provides 2 userexits ,one for sales order processing which is

USEREXIT_PRICING_PREPARE_TKOMP or

USEREXIT_PRICING_PREPARE_TKOMK

Depending upon which table (KOMK or KOMP) the new fields were inserted we use either of the above two userexits.These userexits are found in include MV45AFZZ of the standard SAP sales order creation program SAPMV45A.

In the case of userexit which will be called when invoicing is done ,these

are provided in the include RY60AFZZ which is in the standard SAP program SAPMV45A. The name of the userexits are same. i.e

USEREXIT_PRICING_PREPARE_TKOMP or

USEREXIT_PRICING_PREPARE_TKOMK

These userexits are used for passing the data from the communication structure to the pricing procedure, for this we have to fill the newely created field in the communication structure KOMG for this we fill the code in the above userexit using the MOVE statement after the data that has to be passed is taken from the database table by using the SELECT statement. The actual structure which is visible in these userexits and which is to be filled for that particular field is TKOMP or TKOMK.

Before the coding for these userexits is done ,it is necessary to create a new field in either of the two tables KOMK or KOMP .For this purpose includes are provided in each of them .

To create the field in header data(KOMK) the include provided is KOMKAZ

and to create the field in item data(KOMP) the include provided is KOMPAZ.

One possible example for the need of creating new fields can be e.g. Frieght to be based upon transportation zone ,for this no field is available in field catalog and hence it can be created in KOMK and then above userexits can be used to fill the transportation data to it.

Visit the following help link for list of user exits for sales documents:

http://help.sap.com/saphelp_46c/helpdata/en/1c/f62c7dd435d1118b3f0060b03ca329/content.htm

USEREXIT_PRICING_PREPARE_TKOMK

Use this user exit if you want to include and assign a value to an additional header field in the communication structure KOMK taken as a basis for pricing.

USEREXIT_PRICING_PREPARE_TKOMP

Use this user exit if you want to include or assign a value to an additional item field in the communication structure KOMP taken as a basis for pricing.

Step by step procedure:

http://www.sap-basis-abap.com/sd/how-to-add-new-fields-to-field-catalog.htm

For adding field into Field catalogue:

I shall give an example. But you should first identify the field for Profit Center (Design ID) and then do as follows:

For example if you want to use field PSTYV ('Sales document item category') that is included in structure KOMP ('Pricing Communication Item') as a key for a condition table.

When you create a condition table (Transaction V/03), however, the system does not propose the field in the field catalog.

Prerequisites:

For technical reasons, field PSTYV was included in structure KOMP, however, not in structure KOMG ('Allowed Fields for Condition Structures').

To solve the problem, proceed as follows:

1. Call up the ABAP Dictionary (Transaction SE11) and create data type ZZPSTYV. Choose PSTYV as a domain.As a short text, you can use, for example, 'ZZ - sales document item category' and as a field label, you can use the field labels of PSTYV.Save, check and activate your entries.

2. Call up structure KOMPAZ in the ABAP Dictionary (Transaction SE11) in the change mode and make the following entry:

Component Component type

ZZPSTYV ZZPSTYV

Save, check and activate the change you made.

3. Note:Because of the change in structure KOMPAZ, field ZZPSTYV is now known in structures KOMG and KOMP because structure KOMPAZ is included in both structures.

4. Call up Transaction SPRO. Navigate to 'Sales and Distribution -> Basic Functions -> Pricing -> Pricing Control' and execute 'Define Condition Tables'. Choose 'Conditions: Allowed fields' and include ZZPSTYV as a new entry.

5. Note:Now you can use field ZZPSTYV as a key field when you create a condition table Axxx.

6. Supply the new field you defined by including the following source code line in USEREXIT_PRICING_PREPARE_TKOMP:

MOVE xxxx-PSTYV TO TKOMP-ZZPSTYV.

In order processing you find the user exit in Include MV45AFZZ, and in billing document processing you find it in Include RV60AFZZ.

Consider that you can also use this note as a help if you want to use other customer-specific fields as key fields in a condition table.For header fields, use structure

KOMKAZ instead of structure KOMPAZ and USEREXIT_PRICING_PREPARE_TKOMK instead of USEREXIT_PRICING_PREPARE_TKOMP.

For more information, see Transaction SPRO via the path 'Sales and Distribution -> System Modifications -> Create New Fields (Using Condition

Technique) -> New Fields for Pricing' and Note 21040.

For creating a condition Table:

1) There are almost all the regularly used Conditon Table predefined in the system from 001 to 500.

See what best you can use the Standard Tables to avoid further errors.

2) In case you should define the new condtion Table,

a) Goto TCode: V/03

b) Give a Table any number from 501-999

Press execute and reach to next screen.

c) Check up whether the field you are looking is already added in Field catalogue.

d) Double click on the fields you want to make a Table..one by one. Note that the sequence here is important in higher hierarchical to lower..

Eample : Sales Org, DC, Division, Customer and then Material etc..,

e) After selecting, click on the Techincal View buttin (redone) and reach to next screen.

7) Check which key should be in header and which key should be footer. Use check and uncheck functionalities there..

😎 Once you are through with all the above steps ..click on generate button.

Check the Table is generated or not.

You can check it at V/04 or V/05 or in SE11.

http://sap.ittoolbox.com/groups/technical-functional/sap-log-sd/problems-with-komk-765239

Regards,

Naveen.

Answers (2)

Answers (2)

Former Member
0 Kudos

Thank you

Former Member
0 Kudos

There is a thread going on please read it first, if after this also you have questions you can post more specific questions.

Naren

Former Member
0 Kudos

Hi Naren

Thank you for incorporating the link. But my request is specific to Adding new field to Pricing.

The thread you proposed is all about IDOC.

Appreciate if you could throw some light on above subject without providing the link.

Regards

Suddu

Former Member
0 Kudos

I don't know why it happened... anyways there is a thread by Kris Kani so search with following text - "adding fields to the pricing condition table" and you will find it.

Naren

Former Member
0 Kudos

Hi Sud val

I am trying to copy the link, but unfortunately I am not able to cope the whole link, I don't know why.

But you can check with my name kris kani.

thanks

kris

Former Member
0 Kudos

Hi Kris

My specific requirement is the above subject. You thread is all about the pricing procedure and no where about the details of the adding new field.

If you have any document or information please post in thread and please do not provide the link.

Thanks with Regards

suddu