(warning)     (warning)     (warning)     (warning)

The new wiki link for this data flow is here:

Technical Documentation - Sustainable portfolio management (SPM)

Please update the doc there and no longer here.

(warning)    (warning)     (warning)     (warning)


General presentation

Objective of the application


SPM stands for "Sustainability Portfolio Management". It's a Solvay proprietary approach to assess business sustainability risks and opportunities that runs on PF7.

The objective of SPM reporting in BW is to provide a "Sustainability view" (Market Alignment, Operations Vulnerability) for the sales of the group.

Sales are extracted from P&L in WBP and then enhanced with an SPM dimension, through a sequence of steps (lookup in mapping tables). 

SPM Master Data (SPM Product, SPM Application) is loaded from PF7.

Final report is in QlikView dashboards.

List of contacts

  • Functional Owner: Jean-Francois Goupillier (previously Marc Piret)

  • IS Reporting Leader: Diogo Paiva (IS Supply Chain M&S Data)
  • BW Developer: Laressa Moretti (SBS IS) 

Usage information

History


2017 - First development covering most of the GBUs (pilot: Aroma and Special Chem)  

link to the project folder: https://drive.google.com/drive/folders/0BxkySrtHryoBejV1VG5CbmNwM3c


2018 - Extension for GBU Specialty Polymers and Composite Materials 

link to the project folder: https://drive.google.com/drive/folders/18bJbaF-EfKSDfYl5X1uWe25xiwa99ClU


June/2021 - Project SPM Improvements (will be detailed hereafter)


User documentation:

https://docs.google.com/presentation/d/1CwoaT-wgde7CVazHWES1HsKtRuyxxK8w95ir1SG3zFo



Roles & Access

Roles and access

List of application role + menu role  and explanation if we have several applications role with specials rules.

Role CodeRole DescriptionExplanation
ZBI_RCS_SPM_A01 Sustainable Portfolio Management - End User Role Role for the application
ZR_RCS_CA_M58 SPM - Sustainable Portfolio Management Role menu for the application



Authorization objects

List of authorization objects mandatory for the application.

Authorization objectExplanation
 CPFCTR1_2 GBU




Dataflow overview




The InfoArea where SPM is located is IA_SD_SPM.

There is one MultiProvider named MVSDSP01.



Functional and Technical rules on Workbench + Reporting

Rules & Explanations


Acquisition of data

Sales data is loaded from P&L using APDs.



The APDs load current + previous month into Direct Update DSOs, then it goes to the next level DSOs, which keep all historical sales (allowing a complete recalculation of SPM data every day).

The Sub-Activity field (0G_CWWE01) is very important to define the GBU and Group of Activities.

From Rhodia query, it gets directly field C_TECMAT-0G_CWWE01 (normally IECRAxxx)

From Solvay query, (due to PQ1 decomission and SpS projects), it gets from different fields depending on the month being loaded.  It takes C_TECHBA (old object from PQ1) if month < 01/2018 (kept for reloading purposes) and from C_TECPCT2 if month >= 01/2018. In any case, it takes the attribute C_REST_BA (Restated BA) and move to 0G_CWWE01 (single object in the query for both legacies).

Example:


List of APDs:

(The last 2 APDs are not scheduled on a regular basis. They were created for reloading purpose, allowing to inform the period to be loaded in the query variant).

Transformation of data (Derivation of SPM characteristics)


Some mapping tables were created in WBP with maintenance views (restricted to very few users).

The access is done via transaction ZSPM in WBP.




Update on June/2021

  • Tables ZSPM_TAB4 and ZSPM_TAB5 became obsolete and were removed from this menu
  • Authority check based on GBU was implemented to display/edit data 
  • New transaction for mass upload was created



There are basically 3 steps:


1) Derive SPM product

For Rhodia Legacy - based on GBU / Group of Activities / Sub-Activity / Product Line 2 / Product Line 0 / Commercial Product

For Solvay Legacy -  based on GBU / Group of Activities / Sub-Activity / PIF hierarchy / Product hierarchy / Material Group 


Example:


How it's stored in mapping table 


How the derivation is done from a sales record




Important: the lookup in the mapping tables is done from the most specific case (complete key) to the most generic case, so for example, when reading ZSPM_TAB1 to get SPM product, it does the following:

  1. Search with complete key = GBU + Group of act + Sub-act + Line 2 + Line 0 + Com.prod
  2. If not found, search with GBU + Group of act + Sub-act + Line 2 + Line 0 + Com.prod = space
  3. If not found, search with GBU + Group of act + Sub-act + Line 2 + Line 0 = space + Com.prod = space
  4. and so on ... until the search is done only with GBU + Group of act.


Update on June/2021 - 

The SPM product can now be defined by informing directly GBU + com.prod (in ZSPM_TAB1) or GBU + mat.group (in ZSPM_TAB2)


2) Derive SPM PAC (Application)

For both legacies, based on SPM product obtained in step 1 + End-Use fields (Market, Application, Segment, End-Use)


Example: 


How it's stored in mapping table



How the derivation is done from a sales record


Update on June/2021 - 

In order to assign SPM PAC, the  user can inform directly the End-Use, without having to inform Market / Application / Segment in table ZSPM_TAB3.

C_GBR14 was replaced by the new C_GBR34.


Multiple PACs

We can have multiple PACs assigned to the same combination of GBU + SPM prod + End-Use. In that case, the percentage field will define the split to be done among several PACs, so the routine takes into account this percentage in order to allocate the sales.


3) Recalculate SPM product 

There are some cases, (for example in Novecare for Agro with "Formulations & Blends" ), that we must overwrite the SPM product derived in step 1 with the SPM product obtained directly from SPM PAC master data, because it splits in 3 different PACs in table 3, with a different product assigned to each PAC.

So this "recalculation" was implemented in a recursive transformation into DSOs DBSDSP02 (Rhodia) and DBSDSP04 (Solvay).


In terms of the data flow, this is where these lookups are implemented




List of SPM mapping tables

TableViewDescriptionComment
ZSPM_TAB1 

ZSPM_V1

SPM Product (Rhodia)


ZSPM_TAB2 

ZSPM_V2

SPM Product (Solvay)


ZSPM_TAB3 

ZSPM_V3

SPM Applications


ZSPM_TAB4

ZSPM_V4

SPM End-Use to Market (SPP)

Specific to GBU Specialty Polymers
ZSPM_TAB5

ZSPM_V5

SPM Applications (SPP)

Specific to GBU Specialty Polymers
ZSPM_TAB6

ZSPM_V6

SPM Non-integrated GBUs

Only for GBUs where sales doesn't come from P&L


Update on June/2021:

The specific objects developed for SpP described below were decomissioned as SpP started to use the Corporate End-Use in GBR.

Special case 1 - GBU Specialty Polymers

For GBU Specialty Polymers, sales figures are loaded normally from P&L (sales in PF1) and the derivation of SPM product (step 1) follows the normal SPM flow.

The only difference is in the PAC derivation (step 2) since Specialty Polymers doesn't use the "Corporate End-Use" (C_GBR14).

They maintain their own End-Use information in Sales Force, so some new objects were created in BW to load this data from Sales Force.

 

New InfoObjects


C_SFEU1 is loaded with the existing End-Use values in SalesForce (code + text) from an excel file



And then updated with attributes below, which are maintained in WBP in table ZSPM_TAB4.

So this table ZSPM_TAB4 was created to map the SalesForce End-Use with Corporate "Market / Segment / Application" 


Regarding the End-Use link with the customer, in the case of SalesForce, it's done by the sold-to (and not ship-to). Actually, it's done for a SF account ID that can map to N sold-to codes. Also, the product level can vary, can be done at material group (commercial product) or product hierarchy. 


So we have the following rules into C_SFEU2:


Example of data received from SF (directory /exploit/BW/SPM) and the mapping of SF account to sold-to via table ZSF_SOLDTOS



For SPM PAC derivation, there is table  ZSPM_TAB5, which assigns a PAC based on GBU + SPM Prod + SF End-Use (C_SFEU1).


Finally, in SPM query, attributes Market / Segment / Application come from different objects depending on the GBU 


Special case 2 - Composite Materials


For Composite Materials (and potentially any other GBU not integrated in WP1/PF1 yet), it was developed a "light", temporary solution, where the sales are informed manually, in an aggregated way.

So in table ZSPM_TAB6, user can inform the sales amount directly at this level: by GBU, month, SPM product, SPM PAC, Corporate Group and Corporate End-Use.

Since SPM Product and PAC are manually informed, there are no derivations in this case and the data goes straightforward to cube CRSDSP90, to be combined with the other cubes in MVSDSP01.

Sales amounts must be informed in EUR. There is no quantity (volume) information, and no detail on customer/material.





Master Data from PF7

Update on June/2021 - New source for SPM Master Data is WPE (replacing PF7)



Dependencies with other applications

Data loadings

Info providers and objects loaded



Loading frequency


PC SPM_MAIN is scheduled daily at 05:00 (CET).


The following PCs do not run on a regular basis. They are used only to reload historical data


They execute the corresponding APDs,


 So for example, if we need to reload P&L data for Rhodia (WP1) for 2018, just update the variant in RSRT as follows and trigger the PC to reload.


This will take data up to business layer, then it will go the cubes with the regular daily load.

Average performance


Key FigureEstimation
~ Average Process Chain Runtime 35 minutes
~ Average nb of rows loaded per load
~ Total nb of rows loaded (if full)
~ Average Runtime for 10k lines

Record Keeping

SPM keeps current year + 3 previous years.

This is controlled with a routine in the DTPs into DSOs DBSDSP01 (Rhodia) and DBSDSP03 (Solvay)

Reporting

Queries End User Documentation


Main queries

Queries:

  • BW_QRY_MVSDSP01_0001 - Core query
  • QV_BW_QRY_MVSDSP01_0001 - copy used for QlikView


Main functionalities

Broadcast

Maintenance

Known bugs

Recurring procedure

Planned Evolution






  • No labels