Skip to Content
Technical Articles
Author's profile photo Alecsandra Dimofte

Collaborative Planning (IBP + SAC) – Technical focus Part 2 (SAC to IBP)

Hello community members!

It’s been quite some time since the last blog post! During this time, I received quite a few questions from you, and most of them were about the capability to write back from SAC into IBP:

  • Can SAC write data into IBP?
  • What is required to write data from SAC into IBP?

Here is the summary of how the integration works and some recommended Dos and Don’ts.

Integrate data from SAC into IBP

For simplicity, I will refer to the bi-directional integration with READ and WRITE as following:

  • IBP integration into SAC: READ
  • SAC integration into IBP: WRITE

Step 1: Enable the connection between IBP and SAC

The setup required to enable the oData WRITE service is exactly the same as for the READ. This means that if you have already enabled the connection for the READ scenario, you can use it also for the WRITE. If not, here is a summary of what you will have to cover:

IBP prerequisites 

    • List the required planning area for integration in Global Configuration
    • Create a Communication System type SAP_COM_0143
    • Create a Communication User
    • Create a Communication Arrangement

For more details, check here.

SAC prerequisites

    • Create a connection to IBP using the OData Service URL generated by the IBP communication arrangement and using the credentials of the defined communication user

For more details, check part 1 of this blog.

Dos

  • Even if it might be confusing because of the name, the same EXTRACT endpoint service from the IBP communication arrangement is also used for the WRITE.

Don’ts

  • In the communication system definition, you don’t have to fill the User for Outbound Communication. The User for Inbound Communication is used for both READ and WRITE.

Step 2: Select the parameters for the WRITE call

From the SAC Model, Data Management tab, you can also run an export job “Export Data to SAP Integrated Business Planning”.

Select the IBP connection you would like to use and proceed to the next step.

Select the key figure and all the attribute dimensions that correspond to the planning level root attributes where the key figure is defined.

Dos

  • If the key figure is enabled for conversion, e.g. UoM or Currency conversion, make sure to select the Target UoM or the Target Currency attribute.

Don’ts

  • Don’t select the time dimensions as a TIMESTAMP, e.g. Month(As Timestamp). As of now, writing the date as a TIMESTAMP is not supported and selecting it will generate a SAC generic error An error occurred when exporting data: The type’ class java.lang. String’ of the value object is not supported.
  • Don’t map attributes that are used in Attribute Transformation Type Key figures. The WRITE request is not supporting Attribute Transformation Type Key figures. The error I got for this: Internal Error: cannot read corresponding IBP data from planning area. 
  • Don’t select more than one key figure. As of now, only one key figure at a time can be written.

Step 3:Map the parameters between SAC and IBP

Map the IBP fields to SAC and filter the source data.

Dos

  • If the IBP attribute names aren’t the same as the column names in your SAP Analytics Cloud model, you can create an extra property column, with names that match the names in IBP. Then when you export the data, you can map the new property column to the IBP attributes. In my example, I created an additional column named PRDID as the IBP attribute and filled it with the product IDs.

  • For any target IBP field, if you have no source dimension to map data to and choose the option Not Mapped, you need to specify a default value for the target field. In this example, I mapped Target Currency with USD as default value.
  • IBP currently doesn’t support version mapping during the data acquisition. If you maintain multiple versions in SAC, make sure you set a filter for a specific version. Otherwise, transaction data from different versions will be aggregated.

Don’ts

  • Don’t click Finish unless you are sure you provided all the inputs. Unfortunately, you will not be able to re-edit this query.

Once you are done, click Finish and, if all is ok, you will get a confirmation.

 

Further limitations that exist at the moment:

  • WRITE is possible only for Key Figures, master data write is not supported –  roadmap item, currently planned for 2105
  • WRITE is not available at version/scenario level – roadmap item, currently planned for 2102
  • WRITE new planning combination from SAC into IBP is not supported

I hope it helps you to move forward with IBP+SAC implementations.

Alecsandra

p.s: please note that with future releases, the limitations described in this blog might become obsolete.

Assigned tags

      12 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Irmhild Kuntze
      Irmhild Kuntze

      Great description Alecs, thanks!

      Author's profile photo Manoj Gaikwad
      Manoj Gaikwad

      Thanks for the detailed info on SAC to IBP Alex.  This helped us a lot in resolving all the issues that we are facing.  As the error message were not that informative had to rely on SAP Support to decipher the error, but this blogs nails it.

       

      Though we are still facing 1 issue when exporting more than 1 entry we are facing duplicate itab error message.

      We checked our Data and there are no duplicates, so not sure what is causing the error.  Note: When we re filtering out data to send exactly only 1 record data is transferred successfully.

       

      Regards,

      Manoj

       

      Author's profile photo Henry Banks
      Henry Banks

      Thank you Alecsandra Dimofte - this looks spot-on to help my customer. Great blog, many thanks. cheers, H

      Author's profile photo Nicolas Lindner
      Nicolas Lindner

      Hi Alecsandra, thanks for your detailed Blog. We already connected SAC to IBP and successfully send and received Data.

      Is it somehow possible that SAC is creating Plannning Objects when transfering the Data to IBP? Because with our current setup, all combinations that dont already exist in IBP get rejected.

      Thanks in advance.

       

      Best
      Nicolas Linder

      Author's profile photo Alecsandra Dimofte
      Alecsandra Dimofte
      Blog Post Author

      Hi Nicolas,

      Unfortunately, as you noticed, this is not possible today. It is also not planned for the next 3 releases. In 2105 it is planned to allow writing master data entries. Hopefully, writing new planning objects will follow.

      Thank you

      Alecsandra

      Author's profile photo Hugo DURBECQ
      Hugo DURBECQ

      Thank you Alecsandra Dimofte for this complete tutorial !

      I managed to connect SAC with IBP (write configuration) but I get the folowing error while importing my data from SAC to IBP :

      Please provide a period ID to import data to IBP.

      I cannot figure out how to add the Period ID in the export. Indeed, this is not a Key Figure in IBP. DO you have any idea ?

      Best regards,

      Hugo

      Author's profile photo Alecsandra Dimofte
      Alecsandra Dimofte
      Blog Post Author

      Hi Hugo,

      Yes, your are right. I remember that sending the PERIODID from SAC into IBP was required (and unexpected). 

      The IBP calendar is defined by creating a Time Profile which structures the time hierarchy using these PERIODIDs grouped in levels e.g. level 3 represents weeks, level 4 months, level 5 quarters etc. This way customers have flexibility to define their own calendar and also to decide the granularity. Each period id will have a PERIODSTART and PERIODEND, timestamp format.

      What I did was to create another dimension where I loaded the IBP TIME PROFILE and used this dimension in data mappings. 

      Best

      Alecsandra

       

      Author's profile photo Bernd Hoepfner
      Bernd Hoepfner

      Hi Alecsandra,

      you mentioned that you "created another dimension".

      My question: where did you created another dimension, in SAC or IBP?

      I guess SAC.

      But how do you combine the SAC-Date dimension with your new created SAC-Month dimension?

      I am asking because my SAC-Model is one year old and has a lot of entries/records without the new dimension "Month".

      Best Bernd

      Author's profile photo Alecsandra Dimofte
      Alecsandra Dimofte
      Blog Post Author

      Hi Bernd

      Yes, I created an additional dimension in SAC where I loaded the IBP time profile. If you already have data into the model, you will have to carefully evaluate the extension of the model with a new dimension and its implications. You could assign old values with a default value #.

      I am also testing this now and looking if there are other approaches.

      Some good news: SAC has customizable time dimension on the roadmap for Q1 2022. This should allow the extension of the calendar with additional attributes e.g. you could define the IBP period ID as a property of the SAC period.

      Best

      Alecsandra

       

      Author's profile photo Ravi Malpani
      Ravi Malpani

      Hi Alecs,

      Thanks for this great blog. Is there any application or any way to check the log of SACP to IBP Inbound data in IBP?

      In my project, I have seen that SACP can provide details of rejected records but there is no log of successful records.

      Regards,

      Ravi

      Author's profile photo Alecsandra Dimofte
      Alecsandra Dimofte
      Blog Post Author

      Hi Ravi

      Unfortunately, there is no such log available. Perhaps you could post this request on https://influence.sap.com/sap/ino/#/campaign/21 ?

      The only way I know that enables users to track changes is by using Change History. You can limit the Source of Change to Extract_OData_API.

      Regards

      Alecs

      Author's profile photo Wolfgang Runge
      Wolfgang Runge

      I'm wondering if somebody has tried to transfer sales planning data from the new SAC Financial Planning tool to IBP. This would be an obvious planning process step.