cancel
Showing results for 
Search instead for 
Did you mean: 

Deployment Optimizer to consider Priorities and Quantity Limits for DC locations

PK09
Participant
0 Kudos

Hi,

Can we use Deployment Optimizer to consider Priorities for higher demands of the Distribution centers and set quantity limits (maximum quantity) to distribute/deploy products to the DCs.

The standard deployment heuristics using deployment rule (fair share rules) are not working for our business requirement.

I am not sure if we can use deployment optimizer in my case. If anyone used this option earlier with similar requirements, it would be great to share your comments/suggestions.

Regards

PK

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi PK,

Optimizer works the same way as Heuristics does with respect to Fair Share Rule.

Difference is - Optimizer takes Penalty cost, Trans Cost, Proc Cost, Storage Cost

etc into consideration and do a finite planning (Capacity Constraints are applicable)

But Heuristics will do infinite planning and will not take costs into consideration while planning.

To control the Max Qty in Distribution use Lot Sizes appropriately.

Regards

Vinoth

PK09
Participant
0 Kudos

Hi Vinoth,

Thanks for your reply. It looks there is no way to use the standard application (either Heuristics or Optimizer) in my case.

We are not using any resources in our supply chain model, so i cannot really use constraints or penalty costs with the Deployment optimizer. I did tried with non-delivery and delay penalty costs (hypothetical numbers), but the results deployment optimizer proposing is difficult to understand. For e.g. the demand from other DC locations are combined together and confirming the deployment stock transfer from one particular DC location. I really do not understand why it is confirming from this particular location though i maintain relatively low penalty costs. Any workaround or idea to share using these standard functionalities.

Regards

PK

Former Member
0 Kudos

Hi PK,

As we discussed earlier standard behavior wont satisfy your purpose, so please check on the feasibility of implementing the "User Defined Fair Share - X".

On why the Particular DC is serving supply for all DC's demand is based on the stock requirement, optimizer parameters, Master Data - Product, Location, TLanes etc and inventory available with your system. Am not in a right position to give a try on that as we have to look at various parts.

Check what are the hard and soft constraints declared, check whether any priorities maintained for the product and source of supply. Optimizer normally tries to fulfill the demand which is most cost effective from various sources when shortage occurs, it will violates only the soft constraints declared.

Regards

Vinoth

PK09
Participant
0 Kudos

Hi Vinoth and Rahul,

Thanks for your replies.

Regarding the custom deployment logic, I am just curious to know if it works before i approach technical team.. can we have custom distribution logic i.e. Deploying/distributing the products based on sort sequence (higher demand or lower demand) and selecting the demand from higher demand DC locations and fulfil demand with a predefined maximum quantity (limit) taking into account ATD quantity at the plant. In addition, some time i would also like to consider few lower demand DC locations based on priorities.

I dont know if this works, any idea for working around this requirement.

Thanks and regards

PK

RahulHanda
Active Contributor
0 Kudos

Hi PK,

If I convert this requirement into matrix and then this is what I can think of:

Forecast
LocationM1M2M3M4TotalPriority with demandLimit
Product A100025000350002500035000120000250000
200010000150001000500031000310000
3000200050001000500850045000
400050000300002000040000140000180000

In this case you can define a custom key figure which resembles your limit and then in user exit you can do sorting with high to low demand w.r.t. material and location. If demand is less then limit assign completely else equal to limit (need to check ATD recipts/issues accordingly).

This is just high level. You need to do discuss with ABAPer and see how you can incorporate the same. I hope above helps you in doing so.

Let us know in any case.

Regards

Rahul

Former Member
0 Kudos

Hi PK,

Can you explain your expectation in a way as Rahul did.

My Assumption is

You've a DC A,B and C & their Demand are A-5000, B-2000 and C-1000 respectively.

Max Distribution qty limit is 6000

Available ATD is 5500 which is sort of 8000 (Total Demand).

so your requirement is to sort the demands (higher first or lower first),

In Higher Demand first case -->so highest priority should be considered for DC A with 5000 Qty followed by DC B and C.

now the system should created orders as below.

5000 to DC A

500 to DC B.

Logic 2

If DC-A has 7000  as demand in above case and ATD is 6500 then orders should be created as below

6000 to DC A (As Max qty limit is 6000)

500 to DC B.

If this is the requirement, you can implement it using the custom development.

Regards

Vinoth

PK09
Participant
0 Kudos

Hi Vinoth and Rahul,

Thanks and great to see your thoughts.

Please see the three cases that business is planning to have depending on their situation. I have entered all these information in the table below, please excuse me if it is too long.

Plant ATD Quantity
P1000 9500
Distribution Demand
DC Demand
DC1 1050
DC2 980
DC3 895
DC4 1215
DC5 1320
DC6 1000
DC7 1125
DC8 1090
DC9 1155
DC10 770
Total Demand 10,600
Case 1
Sort Higher demand FulfilledUnfulfilled
DC51320 1320
DC41215 1215
DC91155 1155
DC71125 1125
DC81090 1090
DC11050 1050
DC61000 1000
DC2980 980
DC3895 565-330
DC10770 ***-770
ATD Quantity 0
Case 2
Max Quantity (Limit to DC)
Sort Higher demand Fulfilled (1000)Unfulfilled
DC51320 1,000
DC41215 1,000
DC91155 1,000
DC71125 1,000
DC81090 1,000
DC11050 1,000
DC61000 1,000
DC2980 1,000
DC3895 1,000
DC10770 ***-770
ATD Quantity 500
Case 3
DC Priority with Max Quantity
Sort Higher demandDC PriorityFulfilled (1000)Unfulfilled
DC51320 1000
DC41215 1000
DC91155 1000
DC71125 1000
DC81090 1000
DC11050 1000
DC61000 1000
DC2980 ***-980
DC3895Priority 11000
DC10770Priority 11000
ATD Quantity 500

I have couple of options (not sure which one will work) to implement this deployment logic, may be i will wait for the response to have more information and will ask in my next reply

Regards

PK

RahulHanda
Active Contributor
0 Kudos

Case 1 - you can use same as A (Proportional Distribution Based on Demands) but by defining your logic in X that is to sort first and then fulfill complete instead of dividing the same in ratio.

Case 2 - again same as A (Proportional Distribution Based on Demands) but by defining your logic in X that is to sort first and then fulfill equal to this number.


Case 3 - same as A (Proportional Distribution Based on Demands) but by defining your logic in X that is to sort first and then fulfill equal to this number but considering the priority.

So in BADI, sorting has to happen always (assuming you want this for all products). So this should be taken care by BADI w.r.t. to material and DC.

Now for these parameters that is how badi has to work so you need some base value/indicator in material master. First define two attribute fields on extra tab in material master:

  • Priority
  • Max Quantity

Now for case 3 badi will first sort demand, check priority & max quantity for this product/location and fulfill accordingly.

For case 2 badi will sort demand and will check max quantity (this means if priority blank check max quantity) and fulfill accordingly.

For case 1 badi will just sort and fulfill (which means it checks two fields and being empty will do this)

Though you can do the same by defining custom key figures and maintain data accordingly.

I hope high level solution is clear. But of course you also need to involve your ABAPer so check feasibility.

Regards

Rahul

PK09
Participant
0 Kudos

Hi Rahul,

Thanks for your quick and detailed response.

As mentioned earlier i had couple of options for this enhancement. 1st option as you had already mentioned, defining two new fields in the product master and the 2nd option is to list these parameters directly in the deployment run (/SAPAPO/SNP02) [But i am not sure if this works, if it works this gives us great flexibility in managing products, sort sequence, demand priorities and other limits directly in the deployment run screen]. Please refer the table below for these parameters.

Let me explain this option a bit in detailed. After selecting the Fair share rule 'X' in the product master of the source location (Plant). The product and the corresponding locations need to be maintained in the selection profile for the deployment run. And in the deployment run screen i am thinking of having custom deployment section where it lists (drop-down) all the below tabular parameters when we choose this section. Some sections of this table is similar to the capacity leveling planning run - Manual Parameter Selection (/SAPAPO/SNP05). There in the capacity leveling consider planned orders (receipts) but here instead of receipts, it should consider demands for the deployment run.

Custom Deployment
Maximum Utilization (% ATD Quantity) BOX (number)
Demand Prioritization
A. Order Size
B. Product Priority
C. Product Group Priority
D. DC Priority
E. No Priority
Sort Sequence
A. Ascending
B. Descending
C. No Sort
Maximum Quantity BOX (Number)
Truck Load Increment BOX (Number)

Still it is not clear how to connect/link User-defined deployment logic maintained in the SNP2 tab of the product master to this custom deployment section (to-be) of the deployment run execution screen. Also please let me know if this is something possible and a feasible solution.

Thanks a lot again and this community is a great a place to connect and find answers.

Regards

PK

RahulHanda
Active Contributor
0 Kudos

Hi

For second option I would suggest to use planning book where you already have option of carrying out deployment. Develop your custom key figures where you can maintain your values etc (add the same in your planning book). This will be same what you want to do in SNP02 but with less development. And if you want to do through SNP02  still it would read these key figures as BADI has to work w.r.t. these key figures.

Regards

Rahul

PK09
Participant
0 Kudos

Hi Rahul

Actually we are using a planning area which already contains around 60 key figures. Will adding new custom key figures might impact the performance? Still i can check this 2nd option using planning book, if it consider all the parameters i had listed in the table above. We do have 3-4 spare/extra key figures which i can use if needed. But will this be a good alternative to the one i mentioned (develop custom deployment section with parameters in the deployment planning run directly)

I actually do not know or think of using planning book with all the listed deployment parameters. I appreciate if you can please elaborate the sequence of steps in detail considering all the custom deployment parameters i had provided earlier, so that i can understand better with this alternative.

Thanks for all your help.

Regards

PK

RahulHanda
Active Contributor
0 Kudos

Hi

You can go for custom development also if you feel that's going to fulfill your requirement and of course if user friendly. Adding KF to PA should not impact performance (assuming you are not reading all KFs in one planning book itself making drill-down/up time consuming and not user friendly).

The way you have described in your previous post is basically taken care by CTM for planning. As suggested in my previous post you need to figure out generic way of defining these parameters then making it more complex.

I would suggest you to first check with ABAPer the feasibility and develop a pilot solution on the basis of less complex environment, thereafter you can check in detail how this could be made user friendly.

Regards

Rahul

PK09
Participant
0 Kudos

Hi Rahul,

We are not using any resources (Resource Category: P, S, T, H) in the planning (procurement type for most of the materials are "X").

Some more questions below to clarify....

Can i still use CTM Planning engine?

Do i still need any custom development when i use CTM for the business scenario i explained earlier?

Will CTM consider all the parameters (Max. Quantity and % use of ATD Quantity beside priorities)?

Thanks and Regards

Praveen Konidala

PK09
Participant
0 Kudos

Hi Rahul,

I would like to test first with the generic scenario as suggested.

Regarding the case 3 example earlier in your reply,

"""Case 3 - same as A (Proportional Distribution Based on Demands) but by defining your logic in X that is to sort first and then fulfill equal to this number but considering the priority"""

According to my understanding, the code is same as A (Proportional Distribution Based on Demands), except in the custom logic it should not use ratio or proportional distribution.

So if we select the user-defined logic "X", the BadI will first sort the demands of the DC locations, check priority and then maximum quantity before fulfilling the demand to the DC.


For this logic to work, we need to maintain the following two new attribute fields in the APO product master.

1. DC Priority

2. Max. Quantity


Based on the maximum quantity entered in the DC location, the demand will be fulfilled, if the supply is available (ATD quantity). The maximum quantity can be different for different DCs and the demands are fulfilled as long as the supply is available. Please correct me if there is anything wrong in my understanding.

Regards

PK

RahulHanda
Active Contributor
0 Kudos

Hi PK,

Yes its correct. Let us know after your testing was it feasible (technically) and gave you desired results.

Regards

Rahul

PK09
Participant
0 Kudos

Thanks Rahul!

Sure, I will keep you update after checking with the technical team for the feasibility.

PK09
Participant
0 Kudos

Hi Rahul,

Right now we are testing the user-defined Fair-Share rule 'X' using BadI /SAPAPO/FS_USER and the method DEPLOY_USER_DEFINED.

As we discussed in earlier post (lines copied below), when we select the user-defined logic "X", the BadI should first sort the demands of the DC locations, check priority and then maximum quantity before fulfilling the demand to the DC.

-----------------------------------------------

Case 3 - same as A (Proportional Distribution Based on Demands) but by defining your logic in X that is to sort first and then fulfill equal to this number but considering the priority.

So in BADI, sorting has to happen always (assuming you want this for all products). So this should be taken care by BADI w.r.t. to material and DC.

Now for these parameters that is how badi has to work so you need some base value/indicator in material master. First define two attribute fields on extra tab in material master:

  • Priority
  • Max Quantity

Now for case 3 badi will first sort demand, check priority & max quantity for this product/location and fulfill accordingly.

--------------------------------------------------

The BadI had sorted the results in descending order (not able to sort in ascending order) and considered the maximum quantity (new custom field)  maintained in the product master and fulfill the demand accordingly.

However using this BadI we couldn't able to consider the Priorities in the APO Location Master. The priorities were maintained in the standard field in the APO Location Master for few locations.

Do you know why the location master Priority is not considering in the BadI?

Thanks in advance for your help.

Regards

PK

PK09
Participant
0 Kudos

Hi Rahul and Vinoth,

Thanks lot for your help. The deployment fair share BadI works good with our custom defined rules.

Regards

PK

Answers (1)

Answers (1)

RahulHanda
Active Contributor
0 Kudos

Hi PK,

Use X - User-Defined Fair-Share Distribution. In this case you need to use BADI /SAPAPO/FS_USER with method DEPLOY_USER_DEFINED.

You can go through the below link to understand the same and see how you can adopt for your business requirement.

Tailor-making of SCM SNP Deployment Heuristics ... | SCN

Regards

Rahul