What is an IBP Optimiser log?
An optimizer log gives important information on what goes in and what comes out of every single optimiser run. Every optimization run generates a HANA Trace file and Supply Planning log ( Business Log).
In this blog, we will focus on understanding the Time-Series-Based Supply Planning Optimizer logs.
How to download the Optimiser Trace/Log file?
All the old jobs in IBP can be found in launchpad title Application Logs or in Application Jobs. The default job retention time is 90 days.
Based on how the optimizer is executed interactively or in batch mode you can locate the HANA Trace file and supply planning logs ( Business logs ) using the below Fiori app tiles.
Fiori Launchpad - > General Planner -> Application Logs ( Interactive and Batch)
Fiori Launchpad - > Application Jobs – In case of optimizer run was scheduled Application Jobs is a more simpler way to download.
Each optimization run generates a HANA Trace file with the naming structure prefixed with sopopt< YYYY-MM-DD HH24:MI:SS> and Supply Planning log ( Business Log).
HANA Trace File (Zip Format)
- Input log file
- Trace File
- Output log file
2. Supply Planning Logs (csv) - Business logs
The business logs captures all the messages generated during the optimiser run along with severity.
Understanding Input Log Files
The key figures in the Input log section represent various cost types such as inventory holding costs, production costs, and transportation costs. In addition to the cost-based key figures, some key figures are used to store quantities. Some of the important tables to note are Maximum Key Figures, Late Delivery, Aggregated Constraints, Minimum resource consumption, and Cost and Revenue Key Figures for Subnetworks.
All master data is assigned to a unique ID In
Table ID_TO_NAME_MAPPING. In this table, you can see the mapping for Period, Product, Customer, Location, Resource, and Source used across all the input/output table logs.
In the below example Periodid "5" refers to "28/04/2020".
Similarly Table PRODUCTION_RULE: This table has all master data information like min lot size, rounding value, lead time, etc at the location product level.
Below is a comprehensive list of input tables with their definition.
Optimizer Input Tables List with definition (Click to Expand/Collapse )
Table
|
Table Information
|
AGGREGATED_CONSTRAINT
|
Shows Aggregated Constraint information
|
AGGREGATED_CONSTRAINT_ITEM
|
Shows Aggregated Constraint information
|
AGGREGATION_POLICY
|
Shows Aggregated Constraint information
|
CALENDAR_BREAK
|
Shows Calendar information
|
CUSTOMER_PRODUCT_ATTRIBUTES
|
Shows Customer Product Attributes
|
CUSTOMER_PRODUCT_SUBSTITUTION
|
Shows Product Substitution Master Data Information
|
CUSTOMER_TRANSPORT_RULE
|
Shows Customer Source Information
|
CUSTOMER_TRANSPORT_RULE_VALIDITY
|
Shows Customer Source Validity Information
|
EXPLANATION_CUSTOMERPRODUCT
|
Not Needed
|
EXPLANATION_LOCATIONPRODUCT
|
Not Needed
|
EXTERNAL_RECEIPT_RULE
|
Shows External Receipt Rule (U Rule) information
|
EXTERNAL_RECEIPT_RULE_VALIDITY
|
Shows External Receipt Validity (U Rule Validity) information
|
ID_TO_NAME_MAPPING
|
Shows ID to Name Mapping Information
|
KF_ADJUSTEDPRODUCTION
|
Shows ADJUSTEDPRODUTION KF Information
|
KF_ADJUSTEDTRANSPORT
|
Shows ADJUSTEDTRANSPORT KF Information
|
KF_CAPASUPPLY
|
Shows CAPASUPPLY KF Information
|
KF_CAPASUPPLYEXPANSION
|
Shows CAPASUPPLYEXPANSION KF Information
|
KF_CAPASUPPLYEXPANSIONCOSTRATE
|
Shows CAPASUPPLYEXPANSIONCOSTRATE KF Information
|
KF_NONDELIVERYCOSTRATE
|
Shows Non Delivery Cost Rate (Customer) Information
|
KF_CONSDEMLATEDELIVCOSTRATE
|
Shows Late Delivery Cost Rate (Customer) Information
|
KF_CONSDEMLATEDELIVMAX
|
Shows Max Delay (Customer) Information
|
KF_CONSENSUSDEMAND
|
Shows Consensus Demand
|
KF_INDEPDEMANDNONDELIVERYCOSTRATE
|
Shows Independent Demand Non Delivery Cost Rate information
|
KF_INDEPDEMLATEDELIVCOSTRATE
|
Shows Independent Demand Late Delivery Cost Rate information
|
KF_INDEPDEMLATEDELIVMAX
|
Shows Independent Demand Max Delay information
|
KF_INDEPENDENTDEMAND
|
Shows Independent Demand information
|
KF_INITIALINVENTORY
|
Shows INITIALINVENTORY KF information
|
KF_INVENTORYCORRECTION
|
Shows INVENTORYCORRECTION KF information
|
KF_INVENTORYHOLDINGCOSTRATE
|
Shows INVENTORYHOLDINGCOSTRATE KF information
|
KF_INVENTORYTARGET
|
Shows INVENTORYTARGET KF information
|
KF_INVENTORYTARGETVIOLATIONCOSTRATE
|
Shows INVENTORYTARGETVIOLATIONCOSTRATE KF information
|
KF_LOCATIONRATIO
|
Shows LOCATIONRATIO KF information
|
KF_MAXINVENTORY
|
Shows MAXINVENTORY KF information
|
KF_MAXINVENTORYVIOLATIONCOSTRATE
|
Shows MAXINVENTORYVIOLATIONCOSTRATE KF information
|
KF_MAXPRODUCTION
|
Shows MAXPRODUCTION KF information
|
KF_MAXTRANSPORT
|
Shows MAXTRANSPORT KF information
|
KF_MINPRODUCTION
|
Shows MINPRODUCTION KF information
|
KF_MINTRANSPORT
|
Shows MINTRANSPORT KF information
|
KF_MINTRANSPORTDS
|
Shows MINTRANSPORTDS KF information
|
KF_OLDSOLUTION_INDEPENDENTDEMANDSUPPLY
|
Shows Old Independent Demand Supply KF information
|
KF_OLDSOLUTION_PRODUCTION
|
Shows Old Production Receipt Information
|
KF_OLDSOLUTION_TRANSPORT
|
Shows Old Transport Receipt Information
|
KF_PRODUCTIONCOSTRATE
|
Shows PROUDCTIONCOSTRATE KF information
|
KF_SUBPERIODNUM
|
Shows SUBPERIODNUM KF Information
|
KF_SUBPERIODSOFSUPPLY
|
Shows SUBPERIODSOFSUPPLY KF information
|
KF_SUBPERIODSOFMAXCOVERAGE
|
Shows SUBPERIODSOFMAXCOVERAGE KF information
|
KF_TRANSPORTATIONCOSTRATE
|
Shows TRANSPORTATIONCOSTRATE KF information
|
LOCATIONPRODUCT_SUBSTITUTION
|
Shows Product Substitution Master Data Information
|
LOCATION_ATTRIBUTES
|
Shows Location Master Attributes
|
LOCATION_PRODUCT_ATTRIBUTES
|
Shows Location Product Attributes
|
PRODUCTION_COPRODUCT_ITEM
|
Shows Co-product information
|
PRODUCTION_RESOURCE_PROD_RULE
|
Shows Production Source Resource Information
|
PRODUCTION_RESOURCE_SUBSTITUTION
|
Shows Production Source Resource (Substitution) Information
|
PRODUCTION_RULE
|
Shows Production Sourcing Rule (P Rule) information
|
PRODUCTION_RULE_VALIDITY
|
Shows Production Sourcing Rule Validity(P Rule) information
|
PRODUCTION_SOURCE_ITEM
|
Shows Production Source Item Information
|
PRODUCTION_SOURCE_ITEM_SUBSTITUTION
|
Shows Production Source Item (Substitution) Information
|
PRODUCTION_SOURCE_ITEM_VALIDITY
|
Shows Production Source Item Validity Information
|
RESOURCE_LOCATION
|
Shows Resource Location Attributes
|
RESOURCE_LOCATION_PRODUCT
|
Shows Resource Location Product Attributes
|
TRANSPORTATION_RESOURCE_TRANSPORT_RULE
|
Shows Transport Resource Information
|
TRANSPORT_RULE
|
Shows Location Source (Transport Rule) Information
|
TRANSPORT_RULE_VALIDITY
|
Shows Location Source Validity (Transport Rule Validity) Information
|
Understanding Output Log File
This file contains the output table of the optimizer run like Production orders, Transport orders , Substitution, and other violations made by the optimizer. Also in table Result-Info you can find the solution quality and result summary of the run.
Optimizer Output Tables List (Click to Expand/Collapse )
Table
|
Table Details
|
RESULT-INFO
|
Use for Result Summary
|
RESULT_CLOUD_REPORTING
|
Technical Details
|
CONSTRAINED_DEMAND
|
Shows Constrained Demand (Customer Level)
|
CUSTOMERTRANSPORTQUOTA_VIOLATED
|
Not Relevant
|
CUSTOMER_DEMAND
|
Shows Consensus and Constrained Demand (Customer Level)
|
CUSTOMER_PRODUCT_SUBSTITUTION
|
Shows Product Substitution (Customer Level)
|
EXPLANATION_ISSUE
|
Explanation Result - SOP Profile
|
EXPLANATION_REASON
|
Explanation Result - SOP Profile
|
EXTERNALRECEIPTQUOTA_VIOLATED
|
|
EXTERNAL_RECEIPT
|
Shows External Receipt (U Rule)
|
FIXED_TRANSPORT_RECEIPT_VIOLATION
|
Shows Minimum Transport Receipt and Adjusted Transport Receipt Violations
|
FIXED_TRANSPORT_SUPPLY_VIOLATION
|
Shows Minimum Transport Supply and Adjusted Transport Supply Violations
|
INVENTORYCORRECTION_VIOLATED
|
Shows Inventory Correction Violations
|
LOCATION_DEMAND
|
Shows Independent Demand and Supply
|
LOCATION_PRODUCT_SUBSTITUTION
|
Shows Product Substitution (Location Level)
|
RESULT_PRODUCTION
|
Shows Production Receipt (P Rule)
|
PRODUCTIONQUOTA_VIOLATED
|
|
PRODUCTION_COMPONENT
|
Shows Component Demand
|
PRODUCTION_RESOURCE_CAPAUSAGE
|
Shows Production Resource Capacity Usage
|
PROJECTED_INVENTORY
|
Shows Projected Inventory
|
RESOURCE_CAPAUSAGE
|
Shows Resource Capacity and Capacity Usage
|
RESULT_TRANSPORT
|
Shows Transport Receipts
|
TRANSPORTATION_RESOURCE_CAPAUSAGE
|
Shows Transport Resource Capacity Usage
|
TRANSPORTQUOTA_VIOLATED
|
|
Conclusion
I have been using the IBP optimiser logs for quite some time now. I can conclude that the current file dump is not a very user-friendly way for troubleshooting optimiser related issues.
Until SAP comes with a user-friendly way to represent this, a small utility tool that can parse the input and put text log files and spit it into several sheets with their original mapping will be a handy tool.
Below are a few screenshots of the tool which I have recently developed to make life easy for any IBP support team.