Skip to Content
Technical Articles
Author's profile photo Ajay Prakash

Decrypting SAP IBP Optimiser Logs

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).

  1. 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.

Assigned Tags

      5 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Raquel Melo
      Raquel Melo

      Very nice Ajay! Really enjoyed your Excel to help reading the logs!

      Author's profile photo Girish Kumar Jain
      Girish Kumar Jain

      Very good blog Ajay, this is the best of information to decode the TS Optimizer log.

      Author's profile photo Eddy Izaguirre
      Eddy Izaguirre

      This is great content Ajay, thank you!

      Author's profile photo Miguel Nava
      Miguel Nava

      Hello Ajay, can you share the excel?

       

      Thanks

      Author's profile photo Rodrigo Suarez
      Rodrigo Suarez

      Very good post!

      Would you kindly share this file to analyze the logs?

      Thanks in advance.

      Rodrigo