Resource network planning is used to describe the physical relationships between resources in a plant. It also shows the product flow between resources. The limitation of this functionality is that Supply Network Planning (SNP) tools are unable to read this logical sequencing while planning. SNP planning is purely based on resource and material availability. See how to bridge this limitation in SNP Optimizer planning.
Key Concept
The new master data in SCM 7.0 for process industries is used only by Production Planning/Detailed Scheduling (PP/DS) and not by the Supply Network Planning process. As orders are created by the SNP Optimizer, this is a limitation in planning for process industries. To support process industries, SAP has provided new master data objects in SCM 7.0. These include resource network planning, finite tank planning, block planning, and continuous input and output planning in Production Planning/Detailed Scheduling (PP/DS). I focus on resource network planning.
In the process industry, continuous production is a production flow method used to produce or process materials without a break. Materials, either dry bulk or fluids, are continuously in motion, undergoing chemical reactions or subject to mechanical or heat treatment. Continuous usually means operating 24 hours per day, seven days per week, with infrequent maintenance shutdowns, such as semi-annual or annual. Some chemical plants and refineries can operate for more than two years without a shutdown.
With no gap in the process, the input and output products are consumed and produced simultaneously. The sequence in which the materials are produced from resources is fixed. For example, in the lubricant industry, after the blending activity happens in the blender, the product moves to connected filling machines for packing. Although plants can have multiple blenders and filling machines capable of producing the same material, due to process constraints, the material flow relationships between the blender and the filling machines are fixed.
The resource network concept in PP/DS deals with the flow of materials on predefined sets of resources. The order in which the scheduling happens in PP/DS is generated by Supply Network Planning (SNP). Figure 1 shows the integration between SNP and PP/DS. This is part of standard SAP Advanced Planning & Optimization (APO).

Figure 1
Supply Network Planning cycle
While steps 2, 3, and 5 in Figure 1 refer to SNP planning, Step 4 states that the SNP planned orders are released to PP/DS for detailed planning. As these orders are created by SNP, they should follow PP/DS constraints.
Note Although it is possible to release SNP orders to PP/DS, it is not mandated by SAP, nor is it the only option. SAP Note 481906 (SNP - PP/DS integration) provides several possibilities to transition from SNP to PP/DS planning.
What is a Resource Network in SAP APO?
Note The steps to create and understand the functionality of a resource network are available on the SAP Help Website.
In this article, I talk about the recently introduced resource network functionality using a simple example.
Requirements
The release of a resource network in PP/DS creates a problem when the planned orders are created by SNP without considering the resource network and then released to PP/DS for scheduling. SNP is used with logic for either profit maximization or cost minimization for short- or medium-term horizons. PP/DS does not have the capability to optimize supply chains and create orders based on profit maximization or cost minimization logic. The objective of the method I describe is to bridge this gap by mapping the resource network plan in SNP and ensuring the resource network is read by SNP optimizer process while planning.
I use an example to define the problem and show a solution. The product flow and material flow on resources follow the guidelines shown in Figure 2, which is common in process industries in which production scheduling is done for all production resources.

Figure 2
Production process in the process industry
Prerequisites
Following are the prerequisites for the method I describe:
- Your company uses SNP to create planned orders and these orders are converted into PP/DS planned orders. A normal supply chain optimization scenario involves optimizing revenue, production cost, transportation cost, storage cost, and procurement cost. It means that when there are multiple supply sources, SNP helps to identify the most optimized sources for production and procurement. A standalone PP/DS implementation, for industries in which supply optimization is not based on cost or profit, does not face this resource network issue as none of the orders are interfaced between SNP and PP/DS.
- The resource network should be created in the system. (You can refer to SAP Help for information on creating a resource network.) It is possible to integrate the existing resource network in SAP ERP with SAP APO using report RESNET_TRANSFER.
- You have updated the product master and entered a valid resource network in the Res. Net Name field.
- In the Res. Network Strategy field, which is in the product master, click the Consider Resource Net Strategy button.
Transaction Data Definition
Following is test data along with an industry example to explain the process and the behavior of the SNP Optimizer. An industry case can help to explain the importance of the resource network, which is applicable across all process industries in some way. In a lubricant operation, the lubricants are blended and then filled in packages. The two operations involved in the planning resources are multiple blenders and multiple fillers. In Figure 2, M1 and M3 are blenders and M2 and M4 are filling machines. The filling activity can only start once blending is complete, which means that the possible combinations are:
- M1> M2
- M1> M4
- M3 > M2
- M3 > M4
These blenders and filling machines are connected physically in process industries. They are called resource linkages or a resource network (in SAP APO language). This means that material flow is possible only between M1 to M2 and M3 to M4. This rules out the following combinations from planning:
Following are data definition examples:
- Plant: Plant Code – 1000
- Material: Materials codes – RM1 (raw material), IP1 (intermediate product), FP1 (final product)
- Resource: Resources – M1, M2, M3, and M4
Possible product flow: RM1 >IP1 >FP1
Resource Network:
Resource Linkage – Possible
- M1 > M2 (Exists in system as Resource Network 1)
- M3> M4 (Exists in system as Resource Network 2)
These resource linkages are not possible:
The only resource linkages possible are mentioned above. All other combinations are invalid. M1 and M3 are resources used to process RM1 to IP1. M2 and M4 are resources used to process IP1 to FP1 and hence permutations such as M4 > M1 and M3 > M1 are not possible.
Production Master Data
The following production master data sits in SAP ERP Central Component (ECC) and the SCM system.
The bill of material (BOM) shown in Table 1 defines the quantity relationship between input and output of data maintained in ECC.

Table 1
BOM details in unit of measure of pieces
The master recipe details are shown in Table 2. A master recipe is master data used in the Production Planning-Process Industry (PP-PI) module of ECC that controls all the specifications of a process. It describes in detail how a particular plant is to be used to produce one or more materials from a particular resource in a production run. The data is maintained in ECC.

Table 2
Master recipe details
Table 3 shows production version details. A production version is master data in ECC used to control the linkage of the BOM and master recipe to produce a material in a particular plant.

Table 3
Production version details
Table 4 shows SNP Product Data Structure (PDS) details. SNP PDS is master data in the SAP APO system that is created when a production version is transferred from ECC to APO for use in SNP planning. The data is maintained in SCM.

Table 4
SNP PDS details
Table 5 shows a typical demand forecast. The transaction data is created in SCM.

Table 5
Demand forecast
Capacity of resources also needs to be taken into account. If you don’t consider capacity, the system performs unconstraint planning, such as a material requirements planning (MRP) run in ECC. APO works on the MRP II principle, in which material and capacity planning are done simultaneously. In this process I take a finite capacity of resources in planning M1, M2, M3, and M4. I plan in SNP Optimizer and not in heuristics planning.
Output Planned by SNP Optimizer per Standard Behavior
Now I explain how the SNP Optimizer plans under standard conditions, which means without addressing resource network planning in SNP. This resource network issue has to be addressed in SNP irrespective of the use of discrete or linear algorithms. However, to explain the example, I use a discrete algorithm with a cost minimization objective function.
Based on my data set, the SNP Optimizer plans like this: With a cost minimization objective, SNP creates the following plan:
- Planned Order for FP1 – Resource – M3 – Quantity – 1000
- Planned Order for IP1 – Resource – M2 – Quantity – 500
- Planned Order for IP1 – Resource – M4 – Quantity – 500
Total cost from Optimizer: 1250, which is the output of optimizer planning if system plans the way I mentioned. With planned orders for FP1 and IP1, it is the minimum cost.
This solution violates the resource network requirement as product flow is not possible from M3 > M2. Therefore, the output of SNP is not in line with the process industry requirement. As this output is not in line with PP/DS requirements, PP/DS has to do rework for creating a plan for scheduling and execution.
In this example, I just consider the demand and production cost for explaining the Optimizer behavior without considering the resource network. Here is how the system plans based on the above example:
Demand: 1000 pieces for product FP1. FP1 can be produced on resources M2 and M4 with a limit on the production lot of 500 on each machine. Therefore, the following orders are created:
- Planned Order FP1 – Resource – M2 – Quantity – 500 – with Cost - 0.5X500 = 250
- Planned Order FP1 – Resource – M4 – Quantity – 500 – With Cost - 0.5X1,000 = 500
For producing FP1, IP1 is the BOM component. To meet production of 1,000 FP1, as per BOM, 1000 of IP1 is required. IP1 can be produced on machines M1 and M3.
As lot sizes for IP1 on machines M1 and M3 are 1 to 1000 and with cost of production of 1 per pc on M1 and 0.5 per pc on M3, the system proposes to use M3 as a resource and create the entire 1000 quantity of IP1.
Planned Order P1 – Resource – M3 – Quantity – 1000 with Cost – 0.5 X 1000 = 500
Without considering resource network, the plan from SNP Optimizer will be:
- Planned Order FP1 – Resource – M2 – Quantity – 500 – with Cost - 0.5X500 = 250
- Planned Order FP1 – Resource – M4 – Quantity – 500 – With Cost - 0.5X1000 = 500
- Planned Order IP1 – Resource – M3 – Quantity – 1000 with Cost – 0.5 X 1000 = 500
The total cost of the supply chain is 1250.
Solution Approach
The approach I use is to modify the data to make it resource-network relevant. As data is created and maintained in an SAP ECC system, you get the data from SAP ECC. You do the modification while reading it as input data for the optimizer program. The steps and logic involved in this process are:
- Identify the resource network in planning: This means finding how many resources are affected by resource network.
- Modify the SNP PDS to create a link that can be read by the optimizer as constraints. This can be achieved by creating the planning material while data is passed on to the Optimizer server. These materials are created by the program while reading the input data.
These dummy materials create links between the product flow on the resources identified within a resource network. As these materials are resource-network specific, these can be read by the optimizer as hard constraints and the solution is in line with the resource network requirement.
Note that this solution only works when using optimization-based planning in SNP and not with heuristics-based planning. Figure 3 shows the solution approach.

Figure 3
Process flow for SNP Optimizer
Required Modification
In this section, I talk about a possible workaround that can help in solving the resource network process problem and also consider the resource network in the SNP Optimizer.
Read Resource Network
Identify the resource network available in the system before the data is passed on to the optimizer server:
- Call SAP table /SAPAPO/RESNET
- Get the values of field /SAPAPO/RESNET-RES_NET_NAME
- Pass the values of field /SAPAPO/RESNET-RES_NET_NAME into import parameter IV_RESNET_NAME of function module /SAPAPO/RESNET_READ
- Read export table ET_RESNET to get the relation between resource network and resource network GUID
- Pass the unique value of resource network Guid to table ET_RESCON and get the GUID of RES_FR & RES_TO
- Pass on the values of RES_FR and RES_TO to table /SAPAPO/RESKEY to get the name of the resource
Update this data in internal ztable ZRESNET with details of the resource network and all the resources in sequence. Activate Business Add-In (BAdI) /SAPAPO/SDP_OPT_LOG for reading the Optimizer log before processing. Go to Method ACCESS_INPUT_LOG.
Modify the Logic in the BAdI
Follow these steps to modify the logic in the BAdI:
Step 1. Identify and modify the affected source of supply in this process. Check the value in table ET_PROMAT. In a normal scenario, this table would look like Table 6.
Create logic to replace the output for process 1 and input for process 2 in the input BAdI. That means you need to read the resource network from the PP/DS table (which is explained and maintained as part of ztable ZRESNET). That tells you that M1 > M2 and M3 > M4. Create a loop for combination M1 > M2. Now read internal table ET_PRORES. Find all the sources of supply where M1 and M2 appear. This gives you the filtered sources of supply shown in Table 7.

Table 7
Filtered sources of supply
Pass these filtered sources of supply to table ET_PROMAT (Table 8).

Table 8
Filtered sources of supply with materials
Modify the output product for the IP1 combination as IP1M1, as shown in Table 9.

Table 9
Filtered sources of supply - modification in components for M1
Repeat this process for the resource network combination M3> M4 as shown in Table 10.

Table 10
Filtered sources of supply - modification in components for M2
After doing the modification in table ET_PROMAT, the final input table to the Optimizer looks like Table 11.

Table 11
Filtered sources of supply - modification in components for M1 and M2
Note The dummy materials (IP1M1 or IP1M2) need to be created before calling the Optimizer by a report or program or while accessing the input BAdI in the APO system to support resource network logic. These materials are only part of APO and are used to read the resource network in SNP. These materials are not integrated into the ECC system. You can use the above logic to identify the dummy material requirement and create dummy materials in advance.
Step 3. Modify the result log. Once the Optimizer run is complete, call method ACCESS_RESULT_LOG. Get the planned order output table (CT_OPTOUT_PROMO ), shown in Table 12.

Table 12
Planned order output table
Create a loop on the product in table CT_OPTOUT_PROMO. Modify the product to the original product code: Replace IP1M1 to IP1 and IP1M2 to IP1. Table 13 shows the final planned order output table CT_OPTOUT_PROMO.

Table 13
Final planned order output table
Note This step of modifying the result log is important because before writing the data to liveCache, the planned orders have to be created with a real material code and the real material is interfaced to the ECC system.
Step 4. Check the log and data. Once the data is saved in liveCache, access the Optimizer log and see the cost and results. With the above BAdI modification, the output of the SNP optimizer is:
- Cost of solution – 1,500 (against 1,250 without modification)
- Plan IP1 on Source of supply IP1 1000PV1 S on Resource M1 for 500 PC
- Plan IP1 on Source of supply IP1 1000PV2 S on Resource M3 for 500 PC
- Plan FP1 using source of supply as FP1 1000PV3 S on Resource M2 for 500PC
- Plan FP1 using source of supply as FP1 1000PV4 S on Resource M4 for 500PC
This solution respects the resource network constraint as defined in PP/DS and, therefore, the solution from the SNP optimizer is in line with the PP/DS requirement. You can easily adopt it for scheduling in PP/DS. This solution approach creates the product-resource link within the Optimizer without changing existing master data or creating additional master data in the ECC system.
This modification works automatically whenever a new resource network is identified. This modification is done in the Optimizer program. Once data is created, this modification takes over and works for any new or old data.
Refer to the following SAP Notes for understanding the BAdI and SNP to PP/DS integration:
- 546256 BADI for SNP Optimizer input and results
- 509732 Information About Optimizer Input and Result Log Files
- 542145 BAdI Info for Modifying Optimizer Input and Output
- 481906 SNP - PP/DS integration (documentation)
Manish Mishra
Manish Mishra has 14 years of experience in Manufacturing, ERP Implementation, Analysis, Design, Development and Implementation. He has experience in performing complex data analysis, disaster recovery/business continuity assessment, Supply Chain Planning and Optimization, Project Management and Change Management.
You may contact the author at manish.d.mishra@in.pwc.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.