If you are reading this and made up to this point, congratulations! You are doing a really great job by testing the scenarios and/or reading so far. You have now a basic knowledge about SBC in aATP and PP/DS understanding how the integration between the two components work.
We are coming now to the advanced part of SBC. Today we discuss the details about how planning with characteristics work, how to setup block planning, how they can help you reaching your goal modeling a business process of your needs. We will also include Sales and Capacity Product Allocations into the example, which helps you model constraints for both sales and capacity restrictions.
PPAC with Supply Creation, Characteristics, Block Planning and Product Allocation - Color coated coil production
We have a customer, who is producing hot rolled coils with color coating. The customer has multiple challenges modeling this business process, where they need to focus on the most important ones relevant for the best outcome, in my example I identified the following factors:
Some important characteristics of the product (defined by the ordering customer in the sales order) have a high influence on the production process:
width of the coil: the ordering customer accepts a range of width (eg.: 1500-2000mm)
color of the coating, which defines the block planning blocks, how production is executed
Ordering customers need to be restricted, preventing that few customers are utilizing the full production capacity of the company
Transport capacities are bottlenecks, delivery need to be splitted accordingly into weekly buckets.
The requirements can be modelled like depicted in the picture below, taking the example that a customer would like to order 500kg of yellow coated steel coil with a width range of 1500-2000mm:
Complex use case: color coated coil production
To achieve this scenario, we will use the following functions in ATP:
Sales PAL: Sales Product Allocation for sales restrictions
PPAC: Production Planning-Based Availability Check with characteristics to check for stock with characteristic ranges
Supply Creation based on characteristics, to create new supply in case there is not enough on stock, with the correct configuration and taking into account block planning blocks
Capacity PAL: Capacity Product Allocation for transport capacity restrictions
The Bill of Material (BOM) is the following, with some important settings highlighted:
Color coated coil production: Bill of Material
We are using the following settings in this use case:
Scenario: Make-to-Stock with fixed pegging - because there can be some stock left, which should be reused
Checking group: DS - which means we are using PPAC (aka net requirements calculation) with Supply Creation
Our finished product is Color coated steel coil - AKD21FERT, multilevel with a BOM and finite time-continuous capacities (later as well with block planning)
Steel coil - AKD21SEMI11 the system plans immediately to cover demands, finite, based on time-continuous capacities
Coating - AKD21SEMI12 the system plans immediately to cover demands, finite, based on time-continuous capacities
Slab - AKD21RAW111 planned in planning run (only dependent requirements are created)
Paint - AKD21RAW121 planned in planning run (only dependent requirements are created)
Characteristics-Dependent Planning: yes
Block planning: yes (first testing without it, later enabling it)
Product Allocation: yes, both Sales and Capacity allocations
Post goods receipt (stock)
As in real life, there can be some available stock laying around in the storage location or plant, that can be used for incoming sales orders. To model this, let's book in some stock with batch characteristics for the finished product with "MIGO". Open the Goods receipt App, select "Goods receipt", "Other", fill out Material, quantity, plant, storage location and then hit on the Classification button on the Batch tab. Here you can select the characteristic values for the stock. For my example these are:
Width: 1,6 (m)
Then hit "next screen" in the classification UI, and your batch number will be automatically taken over to the batch field on the batch tab.
Post goods receipt with batch characteristics
Then hit the post or save button and you have a goods receipt created with the batch characteristics. To cross-check if everything worked fine, go into the "Product View App" (or /SAPAPO/RRP3 transaction) and look at your material. You should see "stock" about 100kg and the characteristic values if you click on the small triangle icon.
Stock with batch characteristics in Product View
Before we try to consume this stock with the ATP check by creating a sales order, we also have to setup Product Allocation.
Setup product allocation
I will not go into details about Product Allocation, as it is a blog for itself. You can read about how to use and setup PAL in different blog posts from my colleagues:
These are very good blogs, feel free to setup your PAL to your needs following the instructions.
For my use case, as I described above, I have a straightforward PAL setup, with:
monthly buckets for the sales allocations and
weekly buckets for the capacity allocations.
This example serves the purpose of illustrating the capabilities achieved by combining PAL and SBC. In only provides insight into the range of processes that can be modeled using them. But feel free to experiment with it yourself.
Create sales order and check ATP
Go to the Create Sales Order App (VA01), and create a Sales Order for your finished product. In my case, I create a Sales Order for my material Color coated steel coil - AKD21FERT. I request 500kg to be delivered with a requested date of 2023-06-15. Now if you hit ENTER, you should get a popup for the variant configuration, followed by the batch selection. If not, you can also hit the 2 buttons on the sales order screen, depicted in the picture below:
VA01, sales order creation
What are these pop ups, what is configuration and batch selection?
Configuration is the entry for variant configuration characteristic values with exact numbers, where you define how you would like to have your material configured and produced if not available. This information is used for the production planning process, and can be propagated multilevel.
For the values, I select color yellow, and 1,5m as width for the finished product coil:
Configuration in sales order
Hitting the "next screen" in the configuration UI (or the configuration button in the sales order) brings you to the batch selection UI. Here you can maintain ranges. These value ranges are applied for the supply selection (net requirements calculation) process on the finished product level only.
In my case I extend the width to a range of 1,5-2 (m), because the customer accepts these wider coils as well:
Batch selection in sales order
After entering all these, you can hit the ATP check button (if not triggered automatically) and the result of the ATP check is the following:
ATP "Review Availability Check Result" a.k.a. delivery proposal
You can see in the "Review Availability Check Result" a.k.a. delivery proposal all of the mentioned methods were executed and the best possible date has been determined by ATP, taking into account:
Sales Product Allocation
Available Stock and Supply Creation
Capacity Product Allocation
Clicking on the bubbles, you can also see further details and in case of Product Allocation you can even navigate to the most granular details of the results: to the defined buckets and where consumption happened.
Now let's analyse what happened based on the explanation given on the screen:
We had a request of 500kg for 2023-06-15
Sales Product Allocation could not confirm this month, therefore shifted to 2023-07-01
PPAC with Supply Creation: As we only have 100 on stock, this has been used and confirmed, and the remaining 400kg has to be produced, the planning results in a delivery date of 2023-08-02 for the 400kg
Capacity PAL can confirm the 100kg on date, but for the other 400kg it needs to split them into 2 deliveries, one for the 2023-08-02 and another one for the 2023-08-07
Looking into RRP3, you can see that configuration is attached to all of the supply and demand elements, confirming that CDP (Characteristic dependent planning) did work.
PP/DS results: Product View
Let me explain the screen:
The first row is the stock we already had booked in with the characteristic values "yellow" and "1,6m" width. The second row is a 100kg part of the sales order requirement. These first 2 rows have been matched.
Clicking on the configuration for the 100kg of requirement, you can see the configuration how you entered it in the sales order.
Clicking on the "Requirements" tab, you can also see the ranges how you entered it in the batch selection of the sales order
As the batch selection characteristic value ranges did match the supply on stock (1,6m is between 1,5-2m), the 100kg requirement could be matched with the available supply.
For the remaining 400kg there was no stock available, therefore planning was triggered and supply has been created during the ATP check in PP/DS.
The planned order holds the configuration as well, which is used during the planning (for BOM explosion, resource selection, etc.)
This planning of 400kg is executed based on the PP/DS settings. This means in our case, that it is multilevel, including the full BOM explosion planning with all dependent demands for the semi-finished product and creating the dependent demand for the raw materials.
PP/DS results: Multi Level Planning
During multi level planning, the configuration can be propagated to the next level by implementing the BAdI /SAPAPO/CURTO_CREATE. For more details see SAP Note 2820740.
We also setup that the planning should be finite taking into account resource capacities. Looking into the "Advanced Scheduling Board" App, we can see the finitely planned planned orders on the resources:
PP/DS result in the Advanced Scheduling Board App
Until now, we used the characteristics for configuration, planning and matching the stock characteristics. But we can also use these characteristics for Block planning. In block planning similar products are produced in the same block ranging from some days up to some months long per block. Per definition:
Block Planning is the planning or pre-assignment of resource capacities for products with specific attributes, with the purpose of using the capacities more rationally. The attributes are described using characteristics from the SAP system. In block planning, you define blocks on a resource that have a specific duration and attributes, for example, a duration of 2 days per block on which you manufacture products in various colors.
In our use case, I defined blocks for the different paint colors: yellow, blue, green and will last for 30 days each. Let's adjust our setup for block planning accordingly.
Block Planning Setup
Go into the work center of the finished product, and edit the capacities for the APO resource by selecting Block planning:
Adjust finished product work center to enable block planning
After that, you can create your blocks in the resource. Go to the Block Planning tab of the resource and create new Blocks by:
Defining the basic block definition
Adding the requirement characteristics
Creating a reference cycle
Using the reference cycle to create the intervals
Create blocks for resource
I created blocks for the different colors of the coil, using the "coil color" characteristic with blue, yellow, red and green colors, each of them running for 30 days.
In case your master data is finished or you made changes, transfer the changes to PP/DS (S/4 internal) with transaction CURTOADV_CREATE (with absolute transfer if you want to go for sure).
For further details how to setup block planning, please refer to the SAP online help.
ATP check with block planning
Let's execute the same ATP check as before (ordering 500kg of yellow coil with a width of 1,5m and a batch selection range of 1,5m-2m), but now with the new Block Planning settings applied. I create again the same Sales Order (I deleted the last one), and the results are now different.
Reason: we cannot immediately start producing "yellow" coils, in the setup we entered that we should product "blue" coils until 2023-08-12 (see above).
The planned order is now shifted accordingly with a delivery date of September, because the "yellow" block started only on the 2023-08-13 and therefore production finishes only in September.
Block Planning ATP result (RACR)
Further details about the block planning results can be seen in the "old" detailed scheduling board, . (Transaction: /SAPAPO/CDPS0), unfortunately the Fiori-based Advanced scheduling Board App does not support this.
The blocks are indicated with different colors of lines (which you can setup during block creation). It is well explainable that our planned order can be started only on the 14. August, because before that a blue block exists. Accordingly PP/DS created the planned order based on the characteristics from the sales order, and selected the yellow block for production:
Block planning blocks on the scheduling board
I hope you enjoyed reading the series. I had a lot of fun testing and creating these examples during development. In case you have further topics where more clarification or explanation is required, feel free to leave a comment below, I will try my best.
In case you are facing issues and you have purchased support from SAP, feel free to create a ticket on the application component CA-ATP-SBC.
Stay tuned, the SAP S/4HANA 2023 release is approaching (release date in October 2023) with some nice ABC (substitution) related functionality for SBC. Further details on the roadmap of SBC.