I have recently worked on an SAP Integrated Business Planning (IBP) project focusing on implementing an efficient Demand and Supply Planning process (with supporting S&OP layer), where there were many transactional interface requirements between SAP ECC and IBP. In this blog I will explain how powerful the SAP Cloud Platform Integration for Data Services (CPI-DS) tool is in integrating master data and transaction data from SAP ECC to SAP IBP and in passing the planning results back from SAP IBP to SAP ECC.
SAP ERP data integration to SAP IBP can also be done using SAP Smart Data Integration (SDI) with the ECC or S/4 Supply Chain Integration Add-On for IBP. Currently, CPI-DS is the data integration tool used for time series and master data integration for IBP and SDI is used for Order based planning (in the Response module of IBP). Another option to load data into SAP IBP is via .CSV upload using the Data Integration app available in IBP web UI - which I would not recommend for large volumes of data or for production systems. I will write about SDI in a separate blog. Enjoy the read!
Choosing your integration methodology
With CPI-DS , you can integrate data from SAP ECC to SAP IBP by either starting with the SAP provided Templates where they exist or by writing your own integration flow. You define an integration data flow in a task within a process. For each task you can have the pre-load script, post-load script and Global variables.
Some of the templates and a sample data flow design is shown in the screenshots below;
SAP provided templates are basically using a mixture of SAP ERP (S/4 or ECC) datasource extractors, tables, queries and mappings to the target SAP IBP objects. You can use these as your starting points and modify to your needs. Some of the templates work based on initial and delta load mechanisms. Depending on your requirements, your data modelling and extraction methodology will differ as well.
Example: If you decided not to bring each sales item level details or delivery item level details into IBP (say for performance or volume reasons), then you may consider writing your own integration flow utilising an ABAP map or re-using already built integration.
Master data interfaces
Extracting master data like Materials, Customers, Plants are easier as there are templates to start with. You can modify the data flow according to your needs by using the SAP CPI-DS features like JOIN (Outer Join and Inner Join) to combine data from multiple tables, or bring only the data that you need by using the filter capabilities. These filters are much more efficient, as you can decide at run time about what data should be extracted. Example: Load all the material costs
You can also modify the data to the desired format before writing it into the IBP staging tables (for example, trimming leading zeros in material) or use it to manipulate some other attribute, by using the expressions in the mapping section of the CPI-DS data flows. An example is to establish the location source (or transport routes) for a material based on the Special procurement key. List of all the functions that you can use in your expressions are available in the SAP help. I personally like the lookup function, it’s awesome!
An example mapping is shown below where the expression determines the cost per unit.
When it comes to extracting the master data like Source Lists, BoMs and Production Versions, that’s where the real complexity is as there are no SAP provided templates to start with. Information related to these master data are usually stored in multiple different tables in SAP ECC and I extracted the data using the function modules and mapped it to SAP IBP via SAP CPI-DS using ABAP data flows.
Transactional data interfaces
When it comes to transactional data, there are two sides to it.
1. Extraction of planning inputs like Actual Sales, Purchase Orders, Production Orders, etc. from SAP ECC to SAP IBP. Some of these planning inputs like purchase order and production order do not have any standard integration template to start with. Hence, you need to write your own ABAP based interface data flows. You can either call the BAPI or write your own query-based data extraction flows. You can also aggregate data within the CPI-DS data flows and it’s a good feature.
Another project I worked on focused on bringing data from a 3rd party non-SAP system to SAP IBP via CPI-DS Interface design. The 3rd party system data downloads data in a flat file format to an FTP folder and the CPI-DS job picks up the file and writes it to SAP IBP.
2. Writing the planning results like Planned Independent Requirements, Planned Orders and Purchase Requisitions from SAP IBP to SAP ECC (or SAP APO). For this, you need to develop your own data flows. You can generate a web service in SAP ECC either to the standard BAPIs or to your own RFC enabled function modules. With your own function module, you can add additional features like log information, deletion of old planning results, etc. Please bear in mind about the performance recommendation from SAP Notes while sending data from SAP IBP to other systems via CPI-DS.
Unlike SAP APO, where you can mass delete transaction data, you don’t have the flexible mass delete feature in SAP ECC. The beauty with CPI-DS is that you can query your SAP ECC to identify the old planning results and call the target webservices to delete those. Use the filter conditions to specify only the necessary ones: For example, those that are neither edited nor converted to Purchase orders, etc.
The one thing that I liked very much about CPI-DS is the ability to specify your source and target for data flow during execution time. Under each “Datastore”, you can configure the list of source or target systems and set one of them as default to be used if none specified at run time. Then use this to define the list of system configuration to specify which source system of which datastore is to be used to extract the data in the data flow and send to which target system of the target datastore. So, the same CPI-DS task can be used to extract data from multiple system configurations, but not in the same extraction run. If you want the data to be handled differently between different source systems (multiple ECC systems), then you should create separate a CPI-DS task. This becomes very handy while testing the interfaces. Example: You can choose to send the planning results to more than one SAP ECC systems. Another classic example could be, upon Technical Go-live, you can choose to send the planning results of IBP Production environment to your SAP ECC quality environment for a dry run or volume testing.
Having provided few basic templates, I am looking forward to SAP bringing the Predefined templates for integrating SAP ECC data like BoM, Production Version, Source lists, Purchase orders, Stock Transport Orders, Production orders, etc although it is possible we may see a move to the use of SDI instead for time series as well as order-based integration. Whilst CPI-DS is far from perfect as a middleware tool, it has very strong capabilities based on its BODS / ETL background that are very well utilised in the IBP landscape.
“If you wait until everything in your life is perfect before you begin something challenging and new, you’ll be waiting forever. The best time is NOW.” - Bill Phillips
In digital age of Supply Chain Planning, SAP IBP can fulfil the general expectation of having different functions like Demand, Supply and Finance team working with a single integrated data model, meaning use of the same master data and transaction data rather than multiple duplicated versions.
The quality of planning results depends on the quality of planning inputs. So an appropriate integration architecture is critical. I hope this blog would have also given you an idea whether SAP IBP allows integrating data to or from multiple systems. The next question would be, what happens to the SAP IBP interfaces when an organisation moves from SAP ECC to SAP S/4 HANA?
With our Experienced Consultants, we can help you to design the architecture so that you can to some extent limit repeating the full-blown design exercise. If you would like to learn more about Integration in IBP, have a live demonstration of IBP or embark on a Proof of Concept, then please don’t hesitate to contact us.
Senior Consultant - Olivehorse Consulting