cancel
Showing results for 
Search instead for 
Did you mean: 

Scale based Cumulative Pricing

Former Member
0 Kudos

We want to implement the following tier-pricing:

Qty condition

Price

Sales order qty up to 100,000L

x USD/L

Monthly qty reaches above 1,000,000L

x+20 cents/L

Daily qty reaches above 100,000L

x+10 cents/L

For Example: Let’s assume x=1.10 USD/L

----

29-Dec-12:

Sales order#1 : 50,000L

   Price : 1.10 USD/L x 50,000

Sales order#2: 20,000L

   Price: 1.10 USD/L x 20,000

Sales order#3: 70,000L

   Price: 1.10 USD/L x 30,000 + 1.20 USD/L x 40,000  (condition record for the daily volume should apply here since daily volume limit of 100,000L is crossed for 30-dec-12 by a volume of 40,000L)

-----

Let’s now assume the total volume for the month of December-2012 has reached 900,000L

30-Dec-12:

Sales order#101: 50,000L

   Price: 1.10 USD/L x 50,000

Sales order#102: 80,000L

   Price: 1.10 USD/L x 50,000 + 1.30 USD/L x 30,000  (condition record for the monthly volume should apply here since monthly volume limit of 1,000,000L is crossed for December by a volume of 30,000L)

31-Dec-12:

Sales order#201: 65,000L

   Price: 1.30 USD/L x 65,000 ( monthly volume already exceeded during Sales order#102, hence condition record for monthly volume should be applied )

------

Proposed solution if possible:

Maintain 2 Scale based Cumulative Condition types which will–

  1. Check monthly limit
  2. Check daily limit

However, only one of these condition types should kick in (at this point of time I don’t know how can I configure this).

For Monthly Cumulation we have a standard scale formula (451) which uses SIS table s060/s071 entries. These SIS tables store cumulated volumes on a monthly basis. However, there is a shortfall. The scale formula doesn’t work for sales orders created for previous periods.

I have not found any standard solution for Daily Cumulation.

SD pricing experts, looking forward to your valuable inputs -

  1. Is  there any note available for the Monthly Cumulation scale formula which doesn’t work for previous periods. Is it a bug? Or do I need to create a custom formula?
  2. Is there any standard solution for Daily Cumulation (standard Info-structure doesn’t seem to store daily Cumulation)? If not, any help on how to implement the solution.
  3. How do I configure the condition types so that only one of them gets picked up.

Thanks,

RKG

Accepted Solutions (1)

Accepted Solutions (1)

former_member211556
Active Participant

Hi RK G,

Try using the combination of Monthly cumulative routine and the graduated scale option in the condition type. For Daily cumulation, I guess you need to go for customized routine.

Let me know if it works.

Regards

Vasanth

Former Member
0 Kudos

Thanks Vasanth. Yes this is the proposed solution I have, i.e.using monthly cumulative routine 451 and using graduated-to scale. And as I mentioned, this is fairly useful except for previous period sales orders.

For daily cumulation, I did not find any standard routine. Moreover, I am not aware whether s060 can be used to store daily cumulation values, or a custom infostructure needs to be used. And I would want to know how to update this s060 or the custom infostructure.

Thanks,

RKG

Answers (1)

Answers (1)

Former Member
0 Kudos

Any sort of help will be appreciated.

Or kindly let me know if the question does not belong to this group.

Thanks,

RKG

neeraj_lal
Contributor
0 Kudos

Hi RK,

I don't think you will get solution in standard sap, I would suggest you to use ztable.

In your requirement you have daily utilised quantity and monthly utilised quantity.

What you can do create  ztable, may  be based on sales area, customer#, material number, maximum daily limit, maximum monthly limit, utlised daily limit, utilised monthly limit. you may add or remove suggested field as per your actual requirement.

Business can maintain/change this table except utlised quantity. utilised quantity should not be modifiable by user.

Whenever business is creating any sales order update Daily utilised quantity and monthly utilised quantity via program.

In your pricing procedure define 3condtion type, one will be active if Maximum daily limit is greater than utilised daily limit.

In case if it is not true then activate other one.

Third condtion will be active if Monthly utilised quantity is greater than Monthly Maximum unit.

Also create one program to update utilised quantity of this table for a period. You may run this program in batch after office hours. Lets say you set period of last 31-1 = 30 days. so every night batch program will initialise daily utilised quantity to zero, and update monthly utilised quantity with sales order having material in last 30days.

Hope this will be helpful.

Regards

neeraj_lal
Contributor
0 Kudos

Hi RK,

Advice if your issue get solved.

Regards

Former Member
0 Kudos

Hi Neeraj,

Thanks for your inputs.

Using ztable that you proposed will be useful for that day’s sales order. However, it may not be able to handle the sales orders that are older.

We can use the standard scale formula (451 – Monthly Cumulation - configured in the condition type) for checking monthly cumulated quantity from s060 infostructure (This works well except for previous periods). For checking the daily cumulated quantity, I think I will have to create a copy of s060 and update it with daily cumulated quantities. For this I need to understand how does s060 infostructure get updated.

Moreover, as you suggested about the activating one condition type, I would want to know how can I activate only one condition type based on daily/monthly quantity limits.

Thanks,

RKG

neeraj_lal
Contributor
0 Kudos

Hi Rk,

You need to create routine to activate, deactivate table by comparing data. By using routine you can easily control condtion.

You may configure daily discount conditions in exclusion group and control one condition by routine. so till daily discount condtion is below 100000 unit, daily condtion A will be active. Due to exclusion setting it will deactivate daily condtion B (Above 100000Unit).

Once your daily quantity cross the daily limit routine will deactivate condtion A, if condtion A is not active exclusion will activate condtion B.

For Condtion C, Monthly Maximum limit again use requirement.