on 06-21-2015 8:47 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
Hi PK,
If I convert this requirement into matrix and then this is what I can think of:
Forecast | ||||||||
Location | M1 | M2 | M3 | M4 | Total | Priority with demand | Limit | |
Product A | 1000 | 25000 | 35000 | 25000 | 35000 | 120000 | 2 | 50000 |
2000 | 10000 | 15000 | 1000 | 5000 | 31000 | 3 | 10000 | |
3000 | 2000 | 5000 | 1000 | 500 | 8500 | 4 | 5000 | |
4000 | 50000 | 30000 | 20000 | 40000 | 140000 | 1 | 80000 |
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
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
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 | Fulfilled | Unfulfilled | |||
DC5 | 1320 | 1320 | |||
DC4 | 1215 | 1215 | |||
DC9 | 1155 | 1155 | |||
DC7 | 1125 | 1125 | |||
DC8 | 1090 | 1090 | |||
DC1 | 1050 | 1050 | |||
DC6 | 1000 | 1000 | |||
DC2 | 980 | 980 | |||
DC3 | 895 | 565 | -330 | ||
DC10 | 770 | *** | -770 | ||
ATD Quantity | 0 | ||||
Case 2 | |||||
Max Quantity (Limit to DC) | |||||
Sort Higher demand | Fulfilled (1000) | Unfulfilled | |||
DC5 | 1320 | 1,000 | |||
DC4 | 1215 | 1,000 | |||
DC9 | 1155 | 1,000 | |||
DC7 | 1125 | 1,000 | |||
DC8 | 1090 | 1,000 | |||
DC1 | 1050 | 1,000 | |||
DC6 | 1000 | 1,000 | |||
DC2 | 980 | 1,000 | |||
DC3 | 895 | 1,000 | |||
DC10 | 770 | *** | -770 | ||
ATD Quantity | 500 | ||||
Case 3 | |||||
DC Priority with Max Quantity | |||||
Sort Higher demand | DC Priority | Fulfilled (1000) | Unfulfilled | ||
DC5 | 1320 | 1000 | |||
DC4 | 1215 | 1000 | |||
DC9 | 1155 | 1000 | |||
DC7 | 1125 | 1000 | |||
DC8 | 1090 | 1000 | |||
DC1 | 1050 | 1000 | |||
DC6 | 1000 | 1000 | |||
DC2 | 980 | *** | -980 | ||
DC3 | 895 | Priority 1 | 1000 | ||
DC10 | 770 | Priority 1 | 1000 | ||
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
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:
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
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
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
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
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
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
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
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:
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
6 | |
4 | |
3 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.