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

Usage information

How many users? Which user category ? Is there critical period ? Which geographical perimeter? Describe in one sentence: around 50 users, worldwide or 200 users / European Site

History

The project had 2 phases:


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

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


2 - Extension for GBU Specialty Polymers and Composite Materials 

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


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 autorisation 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

Detail of main topics with explanations of the rules and only the main + special rules about queries to run and use in the correct way


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 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.




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.



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


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


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



Dependencies with other applications

Dependencies with other application (BW, QV, Externals tools like PVelocity or Dynasis etc...

Data loadings

Info providers and objects loaded

Detail of process chain, list + link between or special event done for the loading



Loading frequency

Detail of frequency : monthly; weekly or else


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


The following PCs do not run on a regular basis, only for reload (they execute the APDs for reload mentioned before)


Average performance

if possible, give some information on average process chain duration, amount of data loaded and total data volume example: daily process chain loaded in 30 min, weekly chain loaded in 1h15, with around 2k to 10k lines in DELTA mode for a total of 10M lines in cube. The purpose is to give a general overview of the volume of data managed y the application

 

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

Give details if any historisation is done, example: keep only data greater than beginning of Y-3

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

Query end user documentation should be created in the public "Customer Support Wiki" space under the corresponding BW application page : BW - Application. Technical query query documentation, if necessary should be added as a sub-page of this documentation using the BW Technical Query Documentation template.

 

Main queries

List the most important and complex queries only with a link to the documentation

Queries:


Main functionalities

Give detail on all complex functionalities: list most important and/or complex KPI, query jump, alerts

Broadcast

Indicate if there are broadcasts and give some details on the broadcast settings.

Maintenance

Known bugs

Give the list and explanation on the known, not-solved, bugs.

Recurring procedure

List recurring procedures

Planned Evolution

Detail planned major evolution if already known. Example: complete decommissioning of application is planned in 2017 / Extension to solvay perimeter planned in 2nd semester of 2016