{"id":310,"date":"2020-09-28T14:25:09","date_gmt":"2020-09-28T13:25:09","guid":{"rendered":"http:\/\/www.pierre-vincent.com\/memosap\/?p=310"},"modified":"2020-09-28T14:25:09","modified_gmt":"2020-09-28T13:25:09","slug":"transfert-ibp-to-ecc","status":"publish","type":"post","link":"http:\/\/www.pierre-vincent.com\/memosap\/2020\/09\/28\/transfert-ibp-to-ecc\/","title":{"rendered":"Transfert IBP to ECC"},"content":{"rendered":"\n<p><a href=\"https:\/\/blogs.sap.com\/2020\/06\/03\/sap-ibp-data-integration-via-cpi-ds-how-to-synchronize-data-from-sap-ibp-through-webservice\/\">https:\/\/blogs.sap.com\/2020\/06\/03\/sap-ibp-data-integration-via-cpi-ds-how-to-synchronize-data-from-sap-ibp-through-webservice\/<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">SAP IBP Data Integration via CPI-DS \u2013 How to synchronize data from SAP IBP through webservice<\/h1>\n\n\n\n<p><a href=\"https:\/\/blogs.sap.com\/wp-login.php?redirect_to=https%3A%2F%2Fblogs.sap.com%2F2020%2F06%2F03%2Fsap-ibp-data-integration-via-cpi-ds-how-to-synchronize-data-from-sap-ibp-through-webservice%2F%3Fs_action%3Dss_change_follow_status%26nonce%3Dc05d2b5368&amp;nonce=1601298667219.183\">Follow<\/a><a href=\"https:\/\/blogs.sap.com\/2020\/06\/03\/sap-ibp-data-integration-via-cpi-ds-how-to-synchronize-data-from-sap-ibp-through-webservice\/feed\/\">RSS feed<\/a><a href=\"https:\/\/blogs.sap.com\/wp-login.php?redirect_to=https%3A%2F%2Fblogs.sap.com%2F2020%2F06%2F03%2Fsap-ibp-data-integration-via-cpi-ds-how-to-synchronize-data-from-sap-ibp-through-webservice%2F%3Fs_action%3Dss_change_like_status%26nonce%3D9ca62c39e8&amp;nonce=1601298667219.183\">Like<\/a>2 Likes&nbsp;1,148 View&nbsp;1 Comment<\/p>\n\n\n\n<p>In this blog, you will get an end to end case for how to synchronize data from SAP Integrated Business Planning for Supply Chain solution through webservice.<\/p>\n\n\n\n<p>Let\u2019s assume the following scenario: Planners want to maintenance some additional information in SAP IBP and send these data to SAP ERP Central Component (SAP ECC)\u2019s Z-table. To implement this scenario, we need SAP Cloud Platform Integration for data services (CPI-DS) as a middleware to connect both SAP IBP and SAP ECC. &nbsp;The data flow will be SAP IBP&gt;&gt;CPI-DS&gt;&gt;SAP ECC. Let\u2019s have a look at how to complete this scenario step by step.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1. Webservice Part<\/strong><\/h2>\n\n\n\n<p>Firstly, SAP ECC as a service provider need to publish a web service to receive the data which is sent by SAP IBP through CPI-DS. In this part, I will show you how to deal with these in SAP ECC side. If you have already known these steps, you can skip to CPI-DS part.<\/p>\n\n\n\n<p><strong>1.1 Define a Z-table and create an RFC to receive data.<\/strong><\/p>\n\n\n\n<p>We need to define a table to store the data sent from SAP IBP, in this example, table is named as \u2018ZIBP_DATA_FLITER\u2019. And then, we can use an RFC to receive the data.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/1-55.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/3-42.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p><strong>1.2 Generate service definition<\/strong><\/p>\n\n\n\n<p>After the RFC \u2018ZIBP_SET_DATA_FILTER\u2019 have been created. We should create an enterprise service and follow the wizard to generate service definition.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/4-39.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/5-34.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/6-29.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p><strong>1.3 Publish webservice<\/strong><\/p>\n\n\n\n<p>After that, you can use T-CODE: SOAMANAGER to publish webservice and get the WSDL URL.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/7-27.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/8-20.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/9-16.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/10-12.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/11-16.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>Go to the web service configuration pageSelect your service definition \u2018ZIBP_SRV_ECC_DATA_INBOUND\u2019 and follow the wizard to create service.After you have created the service, you can use \u2018open binding WSDL generation\u2019 button to open binding page where you can get WSDL URL.You can use web browser to open this WSDL URL, like below. It means the service has been published.<\/p>\n\n\n\n<p><strong>Tips:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/12-14.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>If you find that the web page occurrs 403 error, like this:That means you need to active some services through T-Code: SICF<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/13-15.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/14-10.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/15-9.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>Firstly, we need to get service path. You can right click and choose properties in the web page.Find the path under \/bndg_url, for this example is \/sap\/bc\/srt\/rfc\/sap\/zibp_srv_ecc_data_inbound \u2026Secondly, back to SAP GUI and use T-Code: SICF to find the service and active it.<\/p>\n\n\n\n<p>Now we\u2019ve finished service provide part. Let\u2019s move to CPI-DS part.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. CPI-DS Part<\/strong><\/h2>\n\n\n\n<p><strong>2.1 Import SAP IBP source table<\/strong><\/p>\n\n\n\n<p>CPI-DS need to know service consumer\u2019s metadata, so we need to import SAP IBP source table for datastores first.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/16-9.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/17-8.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/0-2.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>In SAP IBP side, the master data types which we want to synchronize to SAP ECC is like below:And we should import this table in CPI-DS. Let\u2019s move to CPI-DS datastores sheet, find SAP IBP\u2019s datastore and click \u2018Import object\u2019 button.<strong>Tips:<\/strong><\/p>\n\n\n\n<p>table name is SOPMD_&lt;master data type ID&gt; and folder name is your planning area ID.<\/p>\n\n\n\n<p>SOPMD means S&amp;OP master data. In this example, planning area ID is \u2018INT\u2019 and master data type ID is \u2018FILTERCONFIG\u2019, so we need to find table \u2018SOPMD_ FILTERCONFIG\u2019 which is under folder \u2018INT\u2019.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/19-7.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/20-5.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>Now we\u2019ve got the table in CPI-DS, and you can review table data in datastores<\/p>\n\n\n\n<p><strong>2.2 Create a web service datastore<\/strong><\/p>\n\n\n\n<p>After importing SAP IBP table, we should create a datastore to call the web service which we published.<\/p>\n\n\n\n<p>In new datastores screen, we should choose datastore\u2019s type as \u2018SOAP Web Service\u2019 and fill the WSDL URL which we got in step 1.3 in WSDL Path.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/21-4.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>We also need to fill credentials info, for this example, it\u2019s a http webservice and authentication with user ID\/Password, so we should put the username and password which SAP ECC provided for integration.<\/p>\n\n\n\n<p><strong>Tips:<\/strong><\/p>\n\n\n\n<p>For the WSDL Path field, we can also use WSDL file\u2019s address.<\/p>\n\n\n\n<p>If you want to use this way, you need to download the webservice\u2019s WSDL file and upload to Data Service Agent service\u2019s file folder. After that, you can fill the WSDL file address in WSDL Path field.<\/p>\n\n\n\n<p>For this example, Data Service Agent are installed in a windows server, the WSDL file address will like this:<\/p>\n\n\n\n<p>C:\\ProgramData\\SAP\\DataServicesAgent\\workspace\\wsdl\\zibp_srv_ecc_data_inbound.wsdl<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/22-5.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>You can use test button to check datastores connection.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/23-7.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/24-5.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>After our web service datastores passed connection test, we need to import web service metadata.Now we\u2019ve finished both sides\u2019 datastores configuration.<\/p>\n\n\n\n<p><strong>2.3 Create a task<\/strong><\/p>\n\n\n\n<p>From this step, Let\u2019s move to CPI-DS project\u2019s sheet to do the configuration.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/25-5.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>Select the projects which you want to input new task and click \u2018create task\u2019 button.Follow the wizard to name the task, then select source\/target datastores and save it.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/26-3.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>Let\u2019s open the task which we\u2019ve just saved. We can check source\/target datastores in connections sheet, edit data flows in data flows sheet and we can define some global variable for these data flows in execution properties sheet.<\/p>\n\n\n\n<p><strong>2.4 Create a data flow<\/strong><\/p>\n\n\n\n<p>After task has been created, we need to define movement and transformation of data from SAP IBP to SAP ECC, so we should create a data flow to handle it.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/27-4.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>Use \u2018Add target Object\u2019 link to choose target object and create data flow<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/28-5.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/29-3.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>That\u2019s a simple data flow, we just need 3 transform objects to deal with the work.Our data flow begins from source target \u2019SOPMD_FILTERCONFIG\u2019 to the \u2018output Loader\u2019 which is to store web service response by xml file.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/30-2.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/31-2.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>Firstly, use a Query transform to filter the fields which we need. If you want to define some field value levels\u2019 filter, you can write some codes in filter sheet.Secondly, use an XML Map transform to map the fields between query and web service\u2019s input.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/32-3.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/33-3.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/34-3.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/35-3.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>If your web service supports inputting multiple rows of data, you need to define iteration rule for it. Use \u2018propose rule\u2019 button to choose the suitable object.Thirdly, use a web service call transform to call SAP ECC\u2019s web service target. In this transform, we can use \u2018select function\u2019 button to choose web service input structure.After importing it, don\u2019t forget to map these two structures.You can use \u2018configure design time data viewer\u2019 button to check each transform running status.<\/p>\n\n\n\n<p><strong>2.5 Create a process and test data flow<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/36-4.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/37-3.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>Select the projects which you want to input new process. And then click \u2018create process\u2019 button.Fill process name. Deselect the&nbsp;Load&nbsp;to&nbsp;SAP&nbsp;Integrated&nbsp;Business&nbsp;Planning&nbsp;(requires post-processing)&nbsp;box because our target datastores is web service.<\/p>\n\n\n\n<p>Select the data flow which you want to test and drop it in the process pool.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/38-2.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/39-3.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/40-2.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/blogs.sap.com\/wp-content\/uploads\/2020\/05\/41-3.png\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p>Go back to project sheet, select the process and click \u2018run now\u2019And you can use \u2018view history\u2019 button to view the process log.Check SAP ECC\u2019s Z-table whether it has received the data.<\/p>\n\n\n\n<p>Hopefully, this article will help you better understand how to synchronize data from SAP IBP through webservice.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/blogs.sap.com\/2020\/06\/03\/sap-ibp-data-integration-via-cpi-ds-how-to-synchronize-data-from-sap-ibp-through-webservice\/ SAP IBP Data Integration via CPI-DS \u2013 How to synchronize data from SAP IBP through webservice FollowRSS feedLike2 Likes&nbsp;1,148 View&nbsp;1 Comment In this blog, you will get an end to end case for how to synchronize data from SAP &hellip; <a href=\"http:\/\/www.pierre-vincent.com\/memosap\/2020\/09\/28\/transfert-ibp-to-ecc\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,7],"tags":[],"class_list":["post-310","post","type-post","status-publish","format-standard","hentry","category-dev-tech-interface","category-ibp"],"_links":{"self":[{"href":"http:\/\/www.pierre-vincent.com\/memosap\/wp-json\/wp\/v2\/posts\/310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.pierre-vincent.com\/memosap\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.pierre-vincent.com\/memosap\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.pierre-vincent.com\/memosap\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.pierre-vincent.com\/memosap\/wp-json\/wp\/v2\/comments?post=310"}],"version-history":[{"count":0,"href":"http:\/\/www.pierre-vincent.com\/memosap\/wp-json\/wp\/v2\/posts\/310\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.pierre-vincent.com\/memosap\/wp-json\/wp\/v2\/media?parent=310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.pierre-vincent.com\/memosap\/wp-json\/wp\/v2\/categories?post=310"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.pierre-vincent.com\/memosap\/wp-json\/wp\/v2\/tags?post=310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}