Are you need IT Support Engineer? Free Consultant

, , , , ,

What can be done if you decide to modify your business with SAC embedded with S/4HANA?

  • By admin
  • January 21, 2021
  • 111 Views
We can not deny how convenient, innovative and secure Sap Analytics Cloud is for businesses. But what if your business demands an integration between SAC and SAP S/4HANA? How will you do that? Let us present you with some approaches.

In the past few months, we have been involved with many customer activities and often it was about SAC and how it connects with the SAP System (e.g SAP BW/4HANA, SAP BW on HANA).

Let’s start with the requirement we handled.

The demand was to build an Interface from SAP Analytics Cloud to S/4HANA to distribute results of the sales & operations planning process where there was an excel upload interface offered by SAP already.

So, to automate the export of SAC Product Allocation Planned data to S/4 HANA, these are the approaches we took.

  • SAC to BW/4HANA to S/4 HANA 

The current process uses a Fiori App “Manage Product Allocation Planning Data” where we maintain characteristic value combinations and planned allocation quantities for the time periods of the characteristic value combinations. Characteristic value combinations and the corresponding time series can be created manually or by uploading a spreadsheet (in .xlsx format) or comma separated values file (in .csv) format. Then oData Service ATP_MANPRODALLOCPLNGDATA picks data and pushes to Product Allocation tables in S/4 HANA. 

The following main tables are updated by OData service:

  • PAOBJ_ACHARC -> Order Type
  • PAOBJ_CHARC -> Product allocation object
  • PAOBJ_CVC -> Product allocation char01(Plant), char02(Sales office)
  • PAOBJ_CVCD -> Product allocation object, Product allocation char01(Plant), char02(Sales office)
  • PAOBJ_TMESERS, PAOBJ_TMESERSD -> Quantity TableTo automate the whole process and avoid the manual step of uploading the .csv format file, we proposed to export SAC model data to aDSO in BW/4HANA (SP04). The following SAP Notes need to be implemented:
    • 2920775 -Export of SAP Analytics Cloud (SAC) transaction data to SAP BW/4HANA 2.0 SP4 or SAP BW 750 Support Package 18 system using OData
    • 2838883 – SAC BW Writeback – Part 1
    • 2847623-SAC BW Writeback – Part 2


    Once the export data to aDSO is completed, a Process Chain would pick the data from Active tables and be a source for extended oData service (ATP_MANPRODALLOCPLNGDATA) which maps with exactly the same fields of aDSO.

     

     

SAC to S/4 HANA 

As per the link    https://help.sap.com/doc/c68fd4e1ae234b5397fec4fb07ef51d2/1.0/en-US/com/sap/cloud/sdk/s4hana/datamodel/odata/services/DefaultProductAllocationSequenceService.html

 The standard oData Service API_PRODUCT_ALLOC_SEQUENCE_SRV is exposed through CDS View. 

The READ method works well but we face issues when we try to POST data.

Since this is a standard OData service and exposed through CDS view, CRUD (CREATE, READ, UPDATE, DELETE) methods are not implemented in the same way. After debugging the Odata service we found there are no methods redefined in the same. Hence the POST method is not working. Also found there are some local test classes defined where the declaration is done for the same.

Limitation: Local test class in the code doesn’t allow us to move the code to production and work around is recreate the OData service and enhance the functionality as needed. An SAP message has been raised and we are working for a solution.

 

  • SAC to IBP

While the decision was being taken by Client to have IBP in landscape or not, we went ahead and analysed the oData services provided and base tables impacted accordingly.

  • Product Availability Information (API_PRODUCT_AVAILY_INFO_BASIC)

There are 3 service nodes:

  • CalculatedAvailabilityTimeseries(Get) – Calculate the availability for a given material at a given plant
  • DetermineAvailabilityAt(Get) – Determine how much of a given material at a given plant at a given date will be available
  • DetermineAvailabilityOf(Get)- Determine when a given quantity of a given material will be available at a given plant

Tables updated:

  • MARC – store Plant Data for Material data
  • MAKT – store Material Descriptions data
  • ADRC – store Addresses (Business Address Services)

 

  • Product Allocation object (A_ProdAllocationObjectType)

There are 14 service nodes:

 

  • A_ProdAllocationObjectType -API View for Product Allocation Object(Get) – used to get the characteristic metadata for exactly one product allocation object.

Tables updated:

  • APAOBJ_TMESERSTP – stores Generated Table for Viewdata
  • PAOBJ_TMESERS – stores Product Allocation Object Characteristic Time Series Data

 

  • A_ProdAllocationObjectType – API View for Product Allocation Object Description(Get) –select the existing descriptions for a given product allocation object in all available languages and will be used to get the description texts for each language key of a single product allocation object.

Tables updated:

  • APALLOCOBJ_TTP
  • PALLOCOBJ_T – Product Allocation Object Text Table

 

  • A_ProdAllocCharcMetaDataType API View for Product Allocation Object Metadata(Get method) –select the existing metadata for characteristic combinations for a given product allocation object. Information about the metadata for characteristic combinations is required to know how many characteristic value combinations have been assigned to the corresponding product allocation object and in which ordinal sequence.

Tables updated:

  • PALLOCOBJ – Product Allocation Object

 

  • A_ProdAllocCharcValCombnType API View for Product Allocation Object CVC(Create,read,update) – enables to read, update and insert characteristic value combinations for a given product allocation object and a given characteristic value combination UUID.

Tables updated:

  • APAOBJ_CVCTP
  • PAOBJ_CVC

 

  • SetLifeCycleStatusToInactive – API Update for Product Allocation Object CVC Status(Update) – enables to set the characteristic value combination lifecycle status to Inactive for a given product allocation object and a given characteristic value combination UUID.

Tables updated:

  • APAOBJ_CVCTP
  • PAOBJ_CVC

 

  • SetLifecycleStatusToActive – API Update for Product Allocation Object CVC Status(Update) – enables to set the characteristic value combination lifecycle status to Active for a given product allocation object and a given characteristic value combination UUID.

Tables updated:

  • APAOBJ_CVCTP
  • PAOBJ_CVC

 

  • DeleteActvCharcValCombination – API Delete for Product Allocation Object CVC(Delete) – enables to delete characteristic value combinations and all dependent data (time series, quantity assignments) of a product allocation object and a given characteristic value combination UUID.

Tables updated:

  • APAOBJ_CVCTP
  • PAOBJ_CVC

 

  • A_ProdAllocObjTimeSeriesType – API View for Product Allocation Object CVC Time Series(Create,Read & update) – enables to read, update and insert the time series of a given product allocation object and UUID of a given characteristic value combination.

Tables updated:

  • APAOBJ_TMESERSTP
  • PAOBJ_TMESERS

 

  • DeleteActiveTimeSeries – API Delete for Product Allocation Object CVC Time Series(Delete) – enables to delete the time series and dependent quantity assignments of a characteristic value combination of a product allocation object for a given time series UUID.

Tables updated:

  • APAOBJ_TMESERSTP
  • PAOBJ_TMESERS

 

  • Create Characteristic Value Combination(Create) – create a characteristic value combination with http method POST for entity A_ProdAllocCharcValCombn.

Tables updated:

  • APAOBJ_TMESERSTP
  • PAOBJ_TMESERS

 

  • Deep Create Characteristic Value Combination and Time Series(Post) – deep create for characteristic value combination with http method POST to add new entities A_ProdAllocCharcValCombn and A_ProdAllocObjTimeSeries.

Tables updated:

  • APAOBJ_TMESERSTP
  • PAOBJ_TMESERS
  • APAOBJ_CVCTP
  • PAOBJ_CVC

 

  • Update Single Characteristic Value Combination(Update)- update a characteristic value combination with http method PATCH for entity A_ProdAllocCharcValCombn.

Tables updated:

  • APAOBJ_CVCTP
  • PAOBJ_CVC

 

  • Create Time Series(Create) – create a time series with http method POST for entity A_ProdAllocObjTimeSeries.

Tables updated:

  • APAOBJ_TMESERSTP
  • PAOBJ_TMESERS

 

  • Update Time Series(Post) – update a time series with http method PATCH for entity A_ProdAllocObjTimeSeries.

Tables updated:

  • APAOBJ_TMESERSTP
  • PAOBJ_TMESERS

 

  • Product Allocation Sequence 

There are 6 service nodes:

  • A_ProdAllocationSequenceType – API View for Product Allocation Sequence(GET)- select existing data for a given product allocation sequence.

Tables updated:

  • PASQNC
  • A_ProdAllocSequenceTType – API View for Product Allocation Sequence Description(GET)- select the descriptions for a given product allocation sequence, in all required languages.

Tables updated:

  • APASQNC_TTP
  • PASQNC_T

 

  • A_ProdAllocSqncAssgmtType – API View for Product Allocation Sequence Assignment(Create,read & Update) – enables to read, update and insert product-location assignments for a given product allocation sequence and a given product allocation sequence UUID.

Tables updated:

  • APASQNC_ASSGMTTP
  • PASQNC_ASSGMT

 

  • DeleteSequenceAssignment – API Delete Product Allocation Sequence Assignment(Delete) – enables to delete product-location assignments of a product allocation sequence for a given product allocation sequence assignment UUID.

Tables updated:

  • APASQNC_ASSGMTTP
  • PASQNC_ASSGMT
  • Create Single Material-Plant Assignment(Create) – create a single material-plant assignment with http method POST for entity A_ProdAllocSqncAssgmt.

Tables updated:

  • APASQNC_ASSGMTTP
  • PASQNC_ASSGMT
  • Update Single Material-Plant Assignment(Update)- update a single material-plant assignment with http method PATCH for entity A_ProdAllocSqncAssgmt.

Tables updated:

  • APASQNC_ASSGMTTP
  • PASQNC_ASSGMT

 

@Team ROITech – Your SAP Fiori Factory,

Hope you found this blog interesting and useful. Thanks to Joydeep Roy for this explanatory content.  In case of any challenges, we would be happy to help you. 

Leave a Reply

Your email address will not be published. Required fields are marked *