cancel
Showing results for 
Search instead for 
Did you mean: 

Report to show where a price has been changed on sales order.

kaleem_ahmed
Explorer
0 Kudos

Hi,

How can I determine which resellers (distribution channel) are manually changing (reducing) the price on sales order.

The aim is to run the report daily to determine original price and the reduced price for all sales order created/changed manually.

I am able to get the rate please advice how can i determine the previous rate.

I am fetching record which were created and changed on current date from table VBAK.

            SELECT vbeln erdat ernam aedat knumv

            INTO TABLE it_sales_order

            FROM vbak

            WHERE vbak~erdat EQ p_erdat

            OR        vbak~aedat EQ p_erdat

            AND      vbak~vtweg EQ '02'.

From condition table KONV i am able to get the current rate.

           SELECT knumv kschl kbetr ksteu

           FROM konv

           INTO TABLE it_condition

           FOR ALL ENTRIES IN it_sales_order

           WHERE knumv EQ it_sales_order-knumv

           AND   ksteu EQ 'C'.     " C - manually changed.

How can I get the previous rate ?

Please advice. Thanks!

Accepted Solutions (0)

Answers (3)

Answers (3)

former_member211616
Active Contributor
0 Kudos

Hi Kaleem ,

Check these threads

http://scn.sap.com/thread/3203208?start=0&tstart=0

Go to Se16 put CDHDR or CDPOS  in selection screen put konv Table

Or In aut10 transaction code put konv table

As looking also the quantity combination and manual intervention detail check the condition type

In the sales pricing procedure if we see the  condition type(ex pr00)double click will see this screen based on   Condition class + calculation type we get pricing change in environment 

  

Regards

Ramesh

Lakshmipathi
Active Contributor
0 Kudos

You can also check in AUT10 which will show a detailed analysis.

G. Lakshmipathi

kaleem_ahmed
Explorer
0 Kudos

Thank you for your inputs. However the requirement is to develop this report in ABAP. this is to determine who is changing the price.. focus on prices that have been reduced.. and get the list of users who reduced the price.

I am not able to get the previous price.. the price before the reseller changed price..

Thanks!

former_member184555
Active Contributor
0 Kudos

I am fetching record which were created and changed on current date from table VBAK.

The changed sales orders picked from VBAK can have changes to any other fields and need not be for changing price. And, how do you differentiate them and filter from your list.

If the manual price is changed multiple times in a single day...which previous value is required by the business? As an example, if a user wish to change (but not supposed to) the discount value of 10 to 50....in the first attempt he may change it to 40 and save the order. Immediately, he will change it from 40 to 50. In this case, if you compare the current value of 50 with previous value of 40...the difference of 10 can be in the permissible limits (of offering additional discount) for that end user. But, you should compare the current value of 50 with the initial value of 10. I guess, the business should be able to see the complete change history for a particular discount value in a particular sales order item...over a period of time along with the details of the user who changed each time.

Please provide more details about the exact business requirement and also the purpose of having these details. Also let us know the business scenario/process.

Regards,

Ravi Sankar


Shiva_Ram
Active Contributor
0 Kudos

If you would have checked the program mentioned above (or) AUT10 program, you can clearly understand the changes are stored in tables CDHDR and CDPOS. Couple of function modules are used in the program, which you can analyze with the help of an ABAP'er.

In CDHDR table fill object as VERKBELEG, object value as sales order number (for example *123456*) and t.code as VA02, to get the document number.

Then pass all these values in table CDPOS, with table name as KONVC and tablekey as condition type, for example *ZPR0* , the find the value for the changes.

I assume you can find changes made only in t.code VA02 and not made during VA01.

Regards,

kaleem_ahmed
Explorer
0 Kudos

Thank you Ravi..

The requirement is to find the re-distributors who are changing the price of sale orders thus reducing the profit margin for company..

Fetch sales order created in a day

Check Sales Document Item

Go to item level for each sales document item...

Check if new condition record/condition type has been created for this item.

If the price in this condition type is less then the price in the previous condition type used then flag this user.

I am fetching the sales order (VBELN) created from VBAK table.

Fetch Sales Document Item (POSNR) from VBAP table

Condition type from KSCHL from KOMV table

The will give price that should be charged for material/sales order.

And from VBAP table i have to fetch NETPR. to get the actual price.

Any suggestion how link the above table/fields..

kaleem_ahmed
Explorer
0 Kudos

Thank you Shiva.. ill try this..

Shiva_Ram
Active Contributor
0 Kudos

You can take a look at program RVSCD100 in SE38. This program captures all the changes made in a sales order including the pricing.

Regards,