General presentation
Objective of the application
SPRINT stands for Solvay Purchasing Reporting INTelligence
SPRINT is a project launched early 2014, with the main purpose to build and deliver a reporting application to cover both the Purchasing and the PtP reporting needs.
It is hosted in WBP server, collecting information from PF1-050 (PRS), PF1-020 (Solvay legacy ERP), WP1-400 (Rhodia legacy ERP) and RHO-020 (Acetow ERP).
SPRINT application is available for the two “family” of users
- Purchasing & Supply Chain function
- SBS PtP
each one having a dedicated Menu in WBP with the respective queries.
The Sprint reporting is also including queries based on following projects :
- PUNCH (QM Notification - Task/Activity/Causes/Item)
- SRM7 (Shopping Cards)
SRM7 is used by Rhodia and by Solvay (SMILES program is rolling out SRM7 for Solvay; first rollout for NAM and LATAM went live on July 1st 2014, next rollouts for APAC and EMEA planned go-live for 2015).The SRM7 system is shared by both legacies and is connected to both ERP systems.
Tool Leader + IT leader of the application:
Reporting Coordinator : Duarte Costa (Lisbon)
Purchasing & Supply Chain Solutions Coordinator : Karin WEIGEL-JUNG (Lyon)
Purchasing Data and P-t-P Interface Manager : Sylvie Severini (Bruxelles)
Purchasing and Supply Chain Excellence / Quality Leader : Cécilia Allain (Lyon)
Contact on ECC side for MM => Henri OLLIVIER
Usage information
History
SPRINT is a project launched early 2014. The roadmap of the project has been sliding in time and at the current date (January 2016) the Purchasing solution has been live for 9 months (first deployment made in March 2015 for APAC users, second deployment made in April 2015 for NAM users, third deployment between May and June 2015 for EMEA users and forth deployment in June 2015 for LAM users); the SBS PtP solution is partially deployed since June 2015.
One of the major objectives of the project is to have and maintain a reporting solution that is kept simple, meaning, that unlike what happened with GSV (where more than 80 queries exist due to multiple copies made for each user request), the aim for SPRINT is to keep the number of queries limited.
Roles & Access
Roles and access
List of application role + menu role and explanation if we have several applications role with specials rules.
| Role Menu Code | Role application | Role Description | Explanation | Link queries |
|---|---|---|---|---|
| ZR_RCS_CA_M04 | ZR_RCS_SPRINT2_A01 | SPRINT - Purchasing | Role menu ZR_RCS_CA_M04 uses application role ZR_RCS_SPRINT2_A01 linked to IA_PUR_SPRINT* Authorization Object ZBI_SPRINT2 / Authorization on zone, GBU, Plant, Company Code. | |
| ZR_RCS_CA_M31 | ZR_RCS_SPRINT2_A01 | SPRINT - SBS - PTP | Role menu ZR_RCS_CA_M31 uses application role ZR_RCS_SPRINT2_A01 linked to IA_PUR_SPRINT* Authorization Object ZBI_SPRINT2 / Authorization on zone, GBU, Plant, Company Code. | Link |
| ZR_RCS_CA_M54 | ZBI_RCS_SC_A01 | SPRINT - Supplier Credit | Role menu ZR_RCS_CA_M54 uses application role ZBI_RCS_SC_A01 linked to IA_PUR_SC_* Authorization Object ZBI_SPRNT_SC / Authorization only on Company Code. | |
| ZR_RCS_CA_M59 | ZBI_RCS_VBF_A01 | Sprint - Value Based Fee | Role menu ZR_RCS_CA_M59 uses application role ZBI_RCS_VBF_A01, linked to IA_PUR_VBF_* | |
| ZR_RCS_CA_M62 | ZR_RCS_SPRINT2_A01 | Sprint - Value Creation | Role menu ZR_RCS_CA_M62 uses application role ZR_RCS_SPRINT2_A01, linked to IA_PUR_SPRINT_VC*. | |
| ZR_RCS_CA_M042 | ZR_RCS_SPRINT2_A01 | SPRINT - Purchasing Data | Role menu ZR_RCS_CA_M042 uses application role ZR_RCS_SPRINT2_A01 linked to IA_PUR_SPRINT* (only in wbd for the moment) | |
| ? | ? | ? | ? linked to IA_PUR_SPRINT_VWF* |
NB: The role menu ZR_RCS_ALL_MENU "Role composite with all role Menu and perimeters" gives access to all role menu. When asking for a new role menu, do not forget it is added to that one.
NB: ZR_RCS_SPRINT_A01 & ZR_RCS_SPRINT_A02 are obsolete
Authorization objects
List of autorisation objects mandatory for the application.
| Authorization object | Explanation |
|---|---|
Zone (C_PZONE) | ZR_*_CA_P11 Authorizations exist on this object, but all users have access to all (role ZR_TOUT2_CA_P11), this authorization on Zone is abandoned. NB: ZR_TOUT_CA_P11 is obsolete |
GBU (C_SUBACT2__CPFCTR1_2) | ZR_*_CA_P05 |
| Plant (C_PLANT) | ZR_*_CA_P02 ZR_7866_CA_P02 => Plant 7866 - Chalampé (ex 7027) - (Cie ZFR9) ZR_TOUT_CA_P02 => All Plants "Solvay" |
| Company Code (C_COMPCDE) | ZR_*_CA_P01 ZR_ZFR9_CA_P01 => BUTACHIMIE - ( ZFR9) (ex 0560) ZR_TOUT_CA_P01 => All Companies "Solvay" |
See also file maintained by Authorization team : BW Catalog of Roles / link: https://drive.google.com/open?id=10GEfKYqrT1eeTO_uHYAheL1GX7L5y_pvH0KQU64qh5I
Dataflow overview
Technical dataflow : SPRINT - Technical Data Flow.pptx https://drive.google.com/open?id=0BzuKacO6n43ic2tUNjhKelRsWWc
See also SPRINT Dataflow https://drive.google.com/open?id=1G0eplgqwvDwJjtYoziwdE2NPT5YtSjm72fUXXlPcEhM
Reporting documentation drive folder:
https://drive.google.com/drive/folders/0B0qn89R0RGdqYkZZOFZyYXlXVkE
Exemple of dataflow overview :
Functional and Technical rules on Workbench + Reporting
Rules & Explanations
Data Mappings
Directory 01. Data Mapping https://drive.google.com/open?id=0B6ePM5y2xkfkLU1WV1JHUjFEdTQ
SPRINT - Data Mapping - Master Data
https://drive.google.com/open?id=1ECdjg6yFQ_v6bTEWbjuUni8NRNbSvGw0EAApb8XA358
SPRINT - Data Mapping - Purchase Schedule Line V2
https://drive.google.com/open?id=1-TqvFdKifRXQU5vwdBFEXcW9rje9PDNs3EMfCpZf7dc
Masterdata RULE1 on Vendors (C_VENDID) / Class attribut (C_VENCLS)
This rule concerns only Solvay vendors (from PF1) P*, which are employees not existing in PRS.
These vendors are partly created in Solvay PF1 and it is then not possible to set Class = 'X' in Solvay PF1.
For those vendors, the class has to be set to 'X' in BW.
The intervall of vendor is managed in Global Filter (C_GLBFILT). Currently P000000000 to PZZZZZZZZZ
Masterdata RULE2 on Realigned Material Group (C_MATPUR2)
All realigned material group are existing on Solvay, descriptions are then filled from PF1 only. Only english description are required.
Masterdata RULE3 on Terms of Payment (C_PMNTTRM)
Terms of Payment on SAP side are managed into 2 tables. TVZBT for sales (customers), T052U for purchasing (vendor).
Payment terms can be common. On BW there is only one object for Payment Terms. T052U has to be loaded first. The description of common terms will be then TVZBT's one.
Note that keys are differents, no matters, the last description is kept.
Payment terms can be find at different level
Different objects are used Sprint vs DPO, but values are the same.
(xxxx) means it comes from ECC table xxxx, othervise it is in the document itself
| SPRINT | DPO | |
|---|---|---|
| Vendor / Company Code view (LFB1) | C_VENDCOM__0PMNTTRMS | C_VENDCOM__C_PMNTTRM |
| Vendor / Purchasing view 1 (LFM1) | C_VENDPRG__C_PMNTTRM | C_VENDPRG__C_PMNTTRM |
| Vendor / Purchasing view 2 (LFM2) | C_PO_ITM__C_PMNTRM2 | C_VENPRG2__C_PMNTTRM |
| In Purchase Order (PO) | C_PO_ITM__C_PMNTTRM | C_PO_ITM__C_PMNTTRM |
| In Accounting Document (DOCT) | C_PMNTTRM | C_PMNTTRM |
ReadSoft DataFlow
SPRINT - Data Mapping - Read Soft https://drive.google.com/open?id=1YV_8OtL4M16bszi1fqVE99O19fPk7EsEYhc9UK4DoP0
There are some differences between rhodia and solavy data flow.
For exemple, in function module of extractor ZFM_BW_COCKPIT_THDR, in WP1 (Rhodia), the date of rejection (ZWDATE_REJECT) is recovered in table /cockpit/thdr.
It's not the case in PF1 (Sokvay), here ZWDATE_REJECT get the date in /COCKPIT/THDR-CH_TIMESTAMP when STATUS = 13 (this rule will may be applied in Rhodia in the future).
In bw, in transformation between dso DP_RDSF and DB_RDSF, some fields like accounting doc number, posting date, controlling area... come from FIAP.
For Rhodia side, we used DSO DBFIAP01 to take data. For Solvay we used two dso: DPFIAP02 and DB_FIAP2.
Infopackages for datasources, are in delta mode. THe delata is based on change date (the change date is also implemented when it's a creation of cockpit document).
WBS determination reading Settlement Rules
This rule concerns only RCS & Solvay FIAP data (transformation between DBFIAP01/2 et DB_FIAP1/2). Acetow is not concerned.
The Settlement rules (table COBRB) are loaded every days by another application (RCS : Dso DSRCOBRB / Solvay : Dso DSSCOBRB).
Reuse of rule between ODS_PMEN to DBFICS02.
Case WBS element is already determined for the FIAP record => keep it, no further determination.
Case WBS element is empty and CO order is filled => read settlement rules
First check is a previous determination has been done (lookup on Dso)
=> If yes, take the WBS element stored
=> if no, read settlement rules
The check is done to avoid dupplicates as the WBS element is part of the key, and settlment rules can be changed even for the past.
NB: the check can be skip for performance purpose essentielly (case of an initialization for example) => Flag in Global Filter SPRINT/DB_FIAP1 or DB_FIAP2/ put Y in low value and Y. Do not forget to put it back to N afterwards.
NB : In case of a reload of the DSO, the first WBS Element determination is lost, as the DSO is previously is empted. The WBS Element will be the one correcponding to the current settlement rules
To see Settlement rules on ECC side :
-> use transaction KO03 with Co Order 000010528547 (for WP1)
-> button 'Settlement rule'
How COBRB table is read
=> Read only line Category WBS
=> Use firstly Settlement Type 'PER', then, if not found or out of validity, use 'GES'
=> Use firstly the higher % Settlement percentage rate
Segmentation Domaine/Segment
The segmentation is redetermined every sunday for FIAP / Schedule line / PO History (RCS/Solvay/Acteow) for current year and 3 previous years (see global filter C_GLBFILT / SPRINT / SEGMENTAT)
* The rule for the leading domain and segment is :
* First we use the domain/segment of the vendor
* Else we use the domain/segment of the creditor
* Else we use the domain/segment of the material group of the
* Purchase Order
* Exceptions
* 1- If the domain of the vendor is "LO - Logistic (8)"
* We used this value as leading Domain and take
* the corresponding segment
* 2- If the domain of the creditor is "LO - Logistic"
* We used this value as leading Domain and take
* the corresponding segment
LeadTime
Lead Time https://drive.google.com/open?id=0By6hfdCwPGY_a09sQWJ4NHlWcnc
Calculation of compliance delta and flag for FIAP dso
In end routine of transformations for DSOs "FIAP for SPRINT" from splitted DSOs, there is abap code to calculate the compliance flag and eventually the delta value between payment term reference and payment term,
To understand the rules and abap code, see this diagram:
Link: https://drive.google.com/open?id=0By6hfdCwPGY_aDYxUlNjYmw2c1E
Material Group (C_MAT_GRP)
The material group can be found at different places:
- masterdata C_MATNR2 : loaded via datasource 0MATERIAL_ATTR.
- masterdata C_PO_ITM : loaded via datasource DTS_BW_PO_ITM. Caution special rule for Item Category 9 "Service" (EKPO-PSTYP) or empty material group (EKPO-MAKTL)
- Schedule line Dsos/Cubes : load via 2LIS_02_SCL, extended. Caution same special rule, but Abap coded slightly differently => DO NOT use it, material group is not always correct.
- FIAP Dsos/Cubes : a lookup is done on Business level of Schedule line => DO NOT use it, material group is not always correct.
Usage of tables :
- Z1M_BW_MAT_GRP for Solvay PF1
- ZWPUT042 for RCS WP1 and Acetow RHO
https://drive.google.com/open?id=1tJe9gPLtq-L6L813vybQq5Lk7nYUJ5PseWDq_a9_RSY
Important : The Material Group in schedule line and FIAP Dsos & Cubes is partly false.
Currently Core & QV queries is using C_MAT_GRP from FIAP or Schedule lines. It has to be changed with C_PO_ITM attribut when Business validates it.
- Solvay cases (the list might be not exhausted)
- Issue for S1.2009
Example PO 4511000082/1340 => Document date 31.03.2009 => FI document 6311201583/5835/2015
Only one part of PO for S1.2009, having a schedule line over 2013 have been loaded into BW. On may 2015 initialization, the PSA was not well loaded, and no action have been done to correct it, so part of S1.2009 is missing. No correction have yet been done as Business DSO for schedule line is using ratio in addition, and a whole re-initialization would take several weeks. - PO with schedule line previous to 2013 but in actual FI documents
Example PO 3100441596 => document date 09.07.2012 => Good Receipt / MM Invoice en 2012 => FI document 6311603854 / 5782 / 2015. These PO have not been loaded into BW. The FI documents do not have PO information. - Deleted PO items
Example PO 3100578083/20 => 2 FI documents created (6311642636/0292/2014 and 6311644101/0292/2015) before the PO item deletion the 22.12.2015.
The deleted PO items are not kept into BW (0PROCESSKEY non kept between Propa & Business DSOs). The FI documents have been reloaded several times in 2016. As the PO item is not existing anymore in the business DSO, the FIAP document can not be filled with PO information
- Issue for S1.2009
- Rhodia cases (the list might be not exhausted)
- Shipment Cost Number archived or other for service PO
Example PO 4502271249
PO 4502271249 => entry sheet 1005459308 => Shipment Cost 2164736
This PO has had a determined material group 0433 when the Shipment Cost was existing on WP1 (table VFKP)
Today the shipment 2164736 can not be displayed anymore in WP1, so is not existing anymore in table VFKP. Are the shipment costs archived at anytime? et just deleted some how?
The material group can not be determind any more when the PO schedule line was loaded again when the invoices were created the 02/05/2016
The material group is also available in masterdata C_PO_ITM.
For this PO 4502271249, the material group is 0433. No modifications on the PO have been detected, so no additional loading even when the invoices were created. The material group remains 0433. Caution, if the masterdata C_PO_ITM is reloaded today, the material group would be reset to empty! - Missing combination in table ZWPUT042
Example 4502642333. Empty also in masterdata C_PO_ITM as no corresponding value for 9008/12/0003 is existing in table ZWPUT042
Caution, if the combination is added in table ZWPUT042, previous PO will not be updated, and masterdata C_PO_ITM can not be fully reloaded because Shipment Costs Number are archived or deleted.
- Shipment Cost Number archived or other for service PO
Conversion rate used in reports
The conversion rate used in reports is CAR3.
Routine CTK_CAR3
Documentation for Document/MasterData Modifications extractors
It concerns DSOs DB_MAGR1/2/3 for Agreements, DB_MMAT1/2/3 for Materials, DB_MVEN1/2/3/4 for Vendors
DataSources are based on Infosets
Example DTS_CHANGEDOCUMENT_ART => documentation https://drive.google.com/open?id=0BwM8zQWmqesDYWlOVGV1bThfTk0
There is data flow to retreive changes on Purchasing Info Record:
Here is the documentation:
https://drive.google.com/open?id=0B6PYA70dIrclamRxbFlnTll4RXc
| Object | Datasources RCS | Abap Prog RCS | Datasources Solvay/Acetow | Abap Prog Solvay/Acetow | |
|---|---|---|---|---|---|
| Material | DTS_CHANGEDOCUMENT_ART | ZBW_MM_ART_CHANGEDOC | DTS_BW_CHG_MAT | ZPGR_BW_CHG_MAT | |
| Agreements | DTS_CHANGEDOCUMENT_CTT | ZBW_MM_CTT_CHANGEDOC | DTS_BW_CHG_AGR | ZPGR_BW_CHG_AGR | |
| Vendor | DTS_CHANGEDOCUMENT_VEN | ZBW_MM_VEN_CHANGEDOC | DTS_BW_CHG_VEN | ZPGR_BW_CHG_VEN | |
| Purchasing Info Record | DTS_BW_PIR_CHANGEDOC | ZFM_BW_PIR_CHANGEDOC (function module) | DTS_BW_PIR_CHANGEDOC | ZFM_BW_PIR_CHANGEDOC (function module) |
Masterdate Attributs & Texts, loaded via Web Dynpro
Web Dynpro are used for integration of some masterdata informations :
- Change immediately information before updates are done in PRS, and afterwards loaded into BW
- Manage information which are not managed in other systems
Users are then autonomous to update BW masterdata (creation of flat file / check of the flat file / upload of the flat file / status of the execution of the associated process chain)
Web dynpro documentation is available in following directory: https://drive.google.com/drive/folders/0B6fsFFWhLf2yZmF2c1VWS21WVXc
- user documentation
- technical documentation
The flat files to load have to follow rules to be uploaded into BW. See https://drive.google.com/open?id=18XlNTM59f7igPNakSwZk_CDZHJ6rnN2RaC28YLiZE5Y
The user interface is available in Solia portal.
See user documentation https://drive.google.com/open?id=1-D47yQianFEbtegyJZxYYV0fafQ-snHVjtDhV6HbNwg
Currently, only Sylvie Sévérini has the access. The technical team do not have access. Tests have to be done via SE80.
Contact person for any issue on Portal / Sprint menu : Reiner Hellstern (person who has replaced José Cervera)
Documentation to make transport in java portal: How to release/transport Webdynpro on the Java portals
Good to know: For Sprint, in java portal, the name of web dynpro are changed, there are the prefix "SPRINT -" before the name.
To change the name in java portal, it's on propriety of Iview and Workset (it's the same manipulation for both):
Then, go clic on "All" to have all proprieties and search propreity called "Name".
Or search directly the propriety with the research bar.
When you are in the propriety, you can add the prefix.
Loadings are managed via process chains, launched on event (See Process Chain paragraph)
Example: PC_C_VENDID_SEG / event PC_C_VENDID_SEG
| Description | BW masterdata impacted | Fields impacted | Webdynpro |
|---|---|---|---|
| Integration Material Group Segment | C_MAT_GRP | Source system (Key) Material group (Key) Segment code Material Group Purchasing (Obsolete) Realigned Material Group | ZWD_FILE_C_MAT_GRP_SEGT |
| Integration Material Product | C_MATNR2 | Source system (Key) Material (Key) Product (PUR) Value Chain (PUR) First Used Date Material Attribute 1 (PUR) Material Attribute 2 (PUR) | ZWD_FILE_C_MATNR2_PROD |
| Integration Plant Site | C_PLANT | Source system (Key) Plant (Key) Purchasing site | ZWD_FILE_C_PLANT_SITE |
| Integration Purchasing Scope | C_COMPPRS | PRS Company code (Key) Purchasing Scope | ZWD_FILE_C_COMPPRS_PSCOPE |
| Integration Vendor Segment | C_VENDID | Source system (Key) Vendor number (Key) (Obsolete) DUNS - Domestic Ultimate Segment code Class Segmentation approval date Segmentation approval user | ZWD_FILE_C_VENDID_SEGT |
| Integration Value Chain (PUR) Text | C_PRODGRP_TXT | Value Chain (PUR) (Key) Medium description | ZWD_FILE_PRODGRP_TEXT |
| Integration Product Text | C_PURPROD_TXT | Product (PUR) (Key) Medium description | ZWD_FILE_PURPROD_TEXT |
| Integration Purchasing Scope Text | C_PSCOPE_TXT | Purchasing scopte (Key) Short description | ZWD_FILE_PSCOPE_TEXT |
| Integration Material Text attr 1 (PUR) | C_MAT_AT1 | Material Attribute 1 (PUR) (Key) Medium description | ZWD_FILE_C_MAT_AT1_TEXT |
| Integration Material Text attr 2 (PUR) | C_MAT_AT2 | Material Attribute 2 (PUR) (Key) Medium description | ZWD_FILE_C_MAT_AT2_TEXT |
| Integration Vendor Attributes (PUR) | C_VENDID | Source system (Key) Vendor number (Key) Vendor Attribute 1 (PUR) Vendor Attribute 2 (PUR) | ZWD_FILE_C_VENDID_ATTR |
| Integration Vendor Text attr 1 (PUR) | C_VND_AT1 | Vendor Attribute 1 (PUR) (Key) Medium description | ZWD_FILE_C_VND_AT1_TEXT |
| Integration Vendor Text attr 2 (PUR) | C_VND_AT2 | Vendor Attribute 2 (PUR) (Key) Medium description | ZWD_FILE_C_VND_AT2_TEXT |
| Integration Payment terms Attributes (PUR) | C_PMNTTRM | Source system (Key) Term of payment key (Key) Payment term attribute 1 (PUR) Payment term attribute 2 (PUR) | ZWD_FILE_C_PMNTTRM_ATTR |
| Integration Payment term attr 1 Text (PUR) | C_PMT_AT1 | Payment term attribute 1 (PUR) (Key) Long description | ZWD_FILE_C_PMT_AT1_TEXT |
| Integration Payment term attr 2 Text (PUR) | C_PMT_AT2 | Payment term attribute 1 (PUR) (Key) Long description | ZWD_FILE_C_PMT_AT2_TEXT |
When web dynpro ZWD_FILE_C_VENDID_SEGT is used, in transformation TRSF : DTS_C_VENDID_SEG -> C_VENDID (WebDynpro), in start routine there is a verification:
If the vendor has a correpondance in master data vendor PRS, no update is possible and attributes have to manage in PRS. So the records isn't updated.
To get the url corresponding to the WebDynpro...
SE80
KeyFigures in "summation" mode
Caution Few KeyFigure are in "Summation" mode in transformations : for PO Schedule lines DSOs (DB_PUSL1/2/3), for PO History DSOs (DB_PUHD1/2/3)
Dependencies with other applications
Few DSOs are shared with FI :
- FIAP
- DBFIAP01 - FIAP : Line Item Splitted with Delta - Rhodia Level 2
- DBFIAP02 - FIAP : Line Item Splitted with Delta - Solvay Level 2
- DBFIAP04 - FIAP : Line Item Splitted with Delta - Acetow Level 2
- FIGL
- DBFIGL02 - AP from FIGL: Line Items - Rhodia Level 2
- DBFIGL05 - AP from FIGL: Line Items - Solvay Level 2
- DBFIGL11 - AP from FIGL: Line Items - Acetow Level 2
Data loadings
Info providers and objects loaded
See Global Filters (C_GLBFILT) part, it is possible to hold loadings from one or several souce systems.
SPRINT / ACETOW or PRS or RHODIA or SOLVAY
Main Chains
| Process Chain | Code | Type | Frequency | Comments |
|---|---|---|---|---|
| SPRINT: Daily Loading | PC_SPRINT_DAILY | MAIN |
| Not iso with WBD one. Avoid transport |
| SPRINT : Domain / Segment (Global) | PC_SPRINT_TR_DS1 | MAIN |
| |
| PUNCH : Global Process Chain | PC_PUNCH_GLOBAL | MAIN |
| |
| Process Chain for Shopping Cart - Main | PC_SRM_SC_ATTR | MAIN |
| Launch SRM7 |
| Process chain for performance reporting (Value Creation) | PC_PUPE_04 | MAIN |
| Load file "ConvergenceToBW.csv" from server directory /exploit/BW/BOZAR |
| CYTEC: Process chain transactional data full | PC_CYTEC_TR_FULL | MAIN | Launched by event PC_CYTEC_TR_FULL (triggered by transaction ZBW_CYTEC_SPD) |
Sub Chains
| Process Chain | Code | Type | Frequency | Comments |
|---|---|---|---|---|
| SPRINT : Propagation (Rhodia) | PC_SPRINT_TR_P1 | sub chain | Not iso with WBD one. Avoid transport | |
| SPRINT : Propagation (Solvay) | PC_SPRINT_TR_P2 | sub chain | Not iso with WBD one. Avoid transport | |
| SPRINT : Propagation (Acetow) | PC_SPRINT_TR_P3 | sub chain | Not iso with WBD one. Avoid transport | |
| SPRINT: Business Layer (Rhodia) | PC_SPRINT_TR_B1 | sub chain | Not iso with WBD one. Avoid transport | |
| SPRINT: Business Layer (Solvay) | PC_SPRINT_TR_B2 | sub chain | Not iso with WBD one. Avoid transport | |
| SPRINT: Business Layer (Acetow) | PC_SPRINT_TR_B3 | sub chain | Not iso with WBD one. Avoid transport | |
| SPRINT: Business Layer (PRS) | PC_SPRINT_TR_B4 | sub chain | OK. Aligned DEV/QAS/PROD | |
| SPRINT Reporting Layer (Rhodia) | PC_SPRINT_TR_R1 | sub chain | Not iso with WBD one. Avoid transport | |
| SPRINT Reporting Layer (Solvay) | PC_SPRINT_TR_R2 | sub chain | Not iso with WBD one. Avoid transport | |
| SPRINT Reporting Layer (Acetow) | PC_SPRINT_TR_R3 | sub chain | Not iso with WBD one. Avoid transport | |
| SPRINT : Domain / Segment (Business Layer) | PC_SPRINT_TR_DS2 | sub chain | Not iso with WBD one. Avoid transport caution : direct scheduling on WBP | |
| SPRINT : Domain / Segment (Reporting Layer) | PC_SPRINT_TR_DS3 | sub chain | Not iso with WBD one. Avoid transport caution : direct scheduling on WBP | |
| PUNCH : Master Data Attributes | PC_PUNCH_MD_ATTR | sub chain | ||
| PUNCH : Master Data Texts | PC_PUNCH_MD_TEXTS | sub chain | ||
| PUNCH : Business Layer (Rhodia) | PC_PUNCH_TR_B1 | sub chain | Caution : the Propa Layer (Rhodia) is done in PCH QM_DAILY_TRANS | |
| PUNCH : Reporting Layer (Rhodia) | PC_PUNCH_TR_R1 | sub chain | ||
| PUNCH : Propagation layer (Solvay) | PC_PUNCH_TR_P2 | sub chain | ||
| PUNCH : Business Layer (Solvay) | PC_PUNCH_TR_B2 | sub chain | ||
| PUNCH : Reporting Layer (Solvay) | PC_PUNCH_TR_R2 | sub chain | ||
| PUNCH : PSA and Change Log Deletion | PC_PUNCH_PSA_CHG_LOG_DEL | sub chain | ||
| Process Chain for Shopping Cart SRM7 - Main | PC_SRM7_SC_ATTR | sub chain | ||
| Process chain SRM7 Master data | ZPC_SRM7_MASTER_DATA2 | sub chain | ||
| SRM: Global Chain | PC_SRM_001 | sub chain | ||
| SRM: MD ATTR - D - 001 | PC_SRM_MD_ATTR_001 | sub chain | under SRM: Global Chain | |
| SRM: MD TXT - D - 001 | PC_SRM_MD_TXT_001 | sub chain | under SRM: Global Chain | |
| SRM: TD - D - 003 | PC_SRM_003 | sub chain | under SRM: Global Chain | |
| CYTEC: Process chain transactional data propagation | PC_CYTEC_TR_P1 | sub chain | ||
| CYTEC: Process chain transactional data business | PC_CYTEC_TR_B1 | sub chain | ||
| CYTEC: Process chain transactional data reporting | PC_CYTEC_TR_R1 | sub chain |
Chains for WebDynpro
| Process Chain | Code | Type | Frequency | Comments |
|---|---|---|---|---|
| PC : Company PRS - Purchasing Scope | PC_C_COMPPRS_PSCOPE | flat file upload | On demand via Solia | Event PC_C_COMPPRS_PSCOPE |
| PC : Material Group Segmentation | PC_C_MAT_GRP_SEG | flat file upload | On demand via Solia | Event PC_C_MAT_GRP_SEG |
| PC : Material Product Code | PC_C_MATNR2_PROD | flat file upload | On demand via Solia | Event PC_C_MATNR2_PROD |
| PC : Plant Site | PC_C_PLANT_SITE | flat file upload | On demand via Solia | Event PC_C_PLANT_SITE |
| PC : Product Group Text | PC_C_PURPROD_TXT | flat file upload | On demand via Solia | Event PC_C_PURPROD_TXT |
| PC : Purchasing Scope Text | PC_C_PSCOPE_TXT | flat file upload | On demand via Solia | Event PC_C_PSCOPE_TXT |
| PC : Vendor Segmentation | PC_C_VENDID_SEG | flat file upload | On demand via Solia | Event PC_C_VENDID_SEG |
| PC : Vendid country | PC_C_VENDID_COUNTRY | flat file upload | On demand | Event PC_C_VENDID_COUNTRY |
| PC : Plant text (for Cytec source system) | PC_C_PLANT_CYTEC_TXT | flat file upload | On demand | Event PC_C_PLANT_CYTEC_TXT |
| PC: VENDID text (for Cytec source system) | PC_C_VENDID_CYTEC_TXT | flat file upload | On demand | Event PC_C_VENDID_CYTEC_TXT |
| PC: COPMPCDE text (for Cytec source system) | PC_C_COMPCDE_CYTEC_TXT | flat file upload | On demand | Event PC_C_COMPCDE_TEXT |
Other Chains
| Process Chain | Code | Type | Frequency | Comments |
|---|---|---|---|---|
Loading frequency
Process Chain PC_SPRINT_DAILY runs daily, Sunday night to thursday night, around 5am.
Process Chain PC_SPRINT_TR_DS1 runs weekly on sundays at 12am
Average performance
| Key Figure | Estimation |
|---|---|
| ~ Average Process Chain Runtime | Daily Main Process Chain lasts around 2 hours 1/2 Weekly Process Chain lasts around 1 hour |
| ~ Average nb of rows loaded per load | |
| ~ Total nb of rows loaded (if full) | |
| ~ Average Runtime for 10k lines |
Record Keeping
No historisation in place.
For FIAP/FIGL, current year + 3 previous ones are requested
For Po Schedule lines, schedule lines frim 01/01/2013 are available
Reporting
Queries End User Documentation
SPRINT training & SPRINT presentation
https://drive.google.com/a/solvay.com/folderview?id=0B5Ivsv4WTtUbVktFZlNVRkNYU1k&usp=sharing
Main queries
Main functionalities
MaintenanceBroadcast
No Broadcast implemented
Known bugs
Recurring procedure
Variables (TVARV/Global Filters)
Variable (TVARVC)
| Variable | Explanation |
|---|---|
LOGSYS_A , LOGSYS_R, LOGSYS_S A= Acetow, R=Rhodia, S=Solvay | Bex variable V_LOGSYS_0007 used to fill query prompt => SE24 ZCL_BIU001_V_0LOGSYS_0007 |
Global Filters (C_GLBFILT)
| Stream | Rule | Explanation |
|---|---|---|
| SPRINT | DB_FIAP1 DB_FIAP2 | Variable used in transformation (start routine) between DBFIAP01/2 => DB_FIAP1/2. Aim : skip the DSO DB_FIAP1/2 lookup. In case of a reloading of FIAP, this look-up in not usefull. To optimize loading time, set the filter to Y. Do not forget to put it back to N afterwards. |
| SPRINT | SEGMENTAT | Variable used in DTP filter to define the number of year to consider for segmentation redetermination DSOs : DB_FIAP1/2/3 + DB_PUHD1/2/3 + DB_PUSL1/2/3 |
| SPRINT | CLASS_X | Variable used in transformation to load Vendor number from DataSource 0VENDOR_ATTR / Solvay currently : interval P000000000 and PZZZZZZZZZ |
| SPRINT | ACETOW RHODIA SOLVAY PRS | Theses variables are used in Process Chains. After the loading of the attributes of the master data, there is a decision (one by source system) to launch or not the loading of the transactionnal data |
| FIAP | DOC_TYP_4 | Variable used in query BW_QRY_MV_SPD01_0008 in selection screen. A huge list of values are taking into account. This variable reach limit of number of ligne to display in a selection screen in Analyzis if you put the variable "Ready for Input" Example of values : 18 + 19 + 23 + 24 + 43 + 44 + 48 + 49 + 53 + 54 + 63.... |
| FIAP | PREV_YEAR | Nb prev years for period DTP DSO DB_FIAP* -> DB_FIAP* OLD!! Obsolete : has been replaced by variable SPRINT / SEGMENTAT |
| SPRINT | C_PURRQI | DTS_BW_PR_CHANGEDOC --> MD_C_PURRQI init => Value = Y If value = Y, it means we want to re-init the masterdata C_PURRQI, the current Release Date has to be replaced. If value = N, it means it is normal process, the current Release do not have to be changed to keep the initial one. |
| SPRINT | CR_PUAP3 | Variable used in start routine between ODS DB_FIAP3 and cube CR_PUAP3 to not taking into account one company code |
FIAP Reloading
FIAP for SPRINT Dsos (CR_PUAP1/2/3), and Cubes (CR_PUAP1/2/3) have been reloaded several times since project golive.
At least Sprint needs: current year + 3 previous ones.
Example 2016 => 2016 + 2013 to 2015
See ModOp SPRINT reloadings https://drive.google.com/open?id=1qSUGEl6v1Iftdc9N1CP7ytFxW2ew2lGO0eEmy4Gvwk0
Caution :
- Cube level takes a long time to reload! Users have to be informed before and after the reload.
- A check Before/After image hasto be done. Only opened periods should be differents.
- A check between FIAP for Sprint & Cubes for Working Capital has to be done also.
- Don't forget to load data from Factoring DSO (DBFIAP05 + DBFIAP06 + DBFIAP07) to SPRINT DSO (DB_FIAP1 + DB_FIAP2 + DB_FIAP3) after the loading from business dso (DBFIAP01 + DBFIAP02 + DBFIAP04) .
Example:
Test Queries to check data Sprint vs WC + common DSOs :
- ZTEST_MV_SPD01_CHECKFIAP_001 / SPRINT - Check FIAP loadings (SPRINT Cubes)
- ZTEST_MVFIWC01_CHECKFIAP_001 / SPRINT - Check FIAP loadings (WC Cubes)
- ZTEST_MVFIWC03_CHECKFIAP_001 / SPRINT - Check FIAP loadings (Common Dsos)
Data can be check a company code level. Make sur all the demand in common split DSO are loaded into Sprint Dsos/Cubes and WC Cubes
FIAP Specifics Rules
Status of payment
In transformation between ODS DBFIAP* and DB_FIAP* we define the several status of payment. It's a little bit complicated to understand, is why we have one document to resume the rules:
Link with factoring level (CAMS project).
New sources was added in Sprint FIAP flow: DBFIAP05, DBFIAP06 and DBFIAP07.
The goal of these new sources it's to update if necessary some information like clearing date or clearing doc (take into account clearing from factoring dso and not only fiap dso).
For more detail, check this documentation:
https://drive.google.com/open?id=1O82GWo7S2rpcbuLFwjNv06WBPniuGWObmhuM1Elc3cE
Exclusion of some accounting document number:
This procedure should only be applied if the purchasing data team has requested it (Sylvie Severini or Yi Ting Kuo) by ticket.
There are some exclusions in transformations (start routines) between DSO DBFIAP01 / 02 / 04 to DB_FIAP1 / 2 / 3 (FIAP line Item Splitted -> FIAP for Sprint).
Exclusion is also made in expert routine in transformations from DSO FIAP : Line Item Splitted - Factoring Level 2 and DSO FIAP for Sprint.
The goal is exclude several acounting documents with inconsistent values. For that, abap code will be read master data global filter with attributes:
In field "Low" of master data, values must be entered in format : source system/accounting document number/item number/year/company code
Example:
With that, abap code will remove from source package rows with these informations.
You can find impacts on queries on the file below:
https://drive.google.com/open?id=1pA8l7ERzJ7LiMNvcJytYelO2bz5lrRDOslckvodIxpM
It may be necessary to exclude new documents.
To do that, it's necessary to now the source system / document / item number / year / company code and update master data global filter.
Then, make a selective deletion on fiap cube and dso on accounting document / company code / year (it's not possible to delete only accounting document concerned because item number isn't available in cube fiap).
When selective deletion is done, reload data on DSO Sprint with DTP with same filters used for selective deletion.
All data will be recovered, except documents on master data global filter (for some item number).
When Sprint FIAP DSO is reload, launch delta dtp to reload SPRINT FIAP cube.
For more detail, check this documentation:
https://drive.google.com/open?id=1wWMGaM4RzSdZNTGo4vbp1tXDkQ4z15lWatYMRC7GUkg
FIGL Specifics Rules
Be carreful, there is a rule between propagation DSO and business DSO to exclude lines with FIGL Domain not equal to "AP".
Exclusion of some accounting document number:
This procedure should only be applied if the purchasing data team has requested it (Sylvie Severini or Yi Ting Kuo) by ticket.
There are some exclusions in transformations (start routine) between DSO FIAP : AP from FIGL: Line Items - Level 2 and Cubes: FIGL for SPRINT.
The goal is exclude several acounting documents with inconsistent values. For that, abap code will be read master data global filter with attributes:
In field "Low" of master data, values must be entered in format : source system/accounting document number/item number/year/company code
Example:
With that, abap code will remove from source package rows with these informations.
You can find impacts on queries on the file below:
https://drive.google.com/open?id=1pA8l7ERzJ7LiMNvcJytYelO2bz5lrRDOslckvodIxpM
It may be necessary to exclude new documents.
To do that, it's necessary to now the source system / document / item number / year / company code and update master data global filter.
Then, make a selective deletion on fiap cube and dso on company code / year (it's not possible to delete only accounting document concerned because accounting document and item number aren't available in cube FIGL for SPRINT).
When selective deletion is done, reload data on DSO Sprint with DTP with same filters used for selective deletion.
All data will be recovered, except documents on master data global filter (for some item number).
Be carreful, there is a rule between propagation DSO and business DSO to exclude lines with FIGL Domain not equal to "AP". It could happen some documents with at the origin the FIGL Domain at "AP" and then the domain change. So when we make the selective deletion and after the reloading, these lines aren't loaded.
When Sprint FIGL DSO is reload, launch delta dtp to reload SPRINT FIGL cube.
For more detail, check this documentation:
https://drive.google.com/open?id=1wWMGaM4RzSdZNTGo4vbp1tXDkQ4z15lWatYMRC7GUkg
FIGL Reloading
Caution, take into account special periods 013 to 016, overwise December figures will be wrong.
Special periods 013 to 016 are at last stored on period 012.
See ModOp SPRINT reloadings https://drive.google.com/open?id=1qSUGEl6v1Iftdc9N1CP7ytFxW2ew2lGO0eEmy4Gvwk0
It is important to check image Before/After. Only opened periods could be differents.
ReadSoft Reloading
See ModOp SPRINT reloadings https://drive.google.com/open?id=1qSUGEl6v1Iftdc9N1CP7ytFxW2ew2lGO0eEmy4Gvwk0
For information, at the reloading of readsoft there have been issue during activation of data in DSO DB_RDSF1 & DB_RDSF2.
Somes rows had currency = USA, chinese character in field wc user and "!" in the beginning of field Reference document number.
So there is an exclusion in DTPs when currency = USA and routines to clear stranges characters for wc user and reference document number.
Manual update
It can happen that some Readsoft Cockpit Documents were manually updated in WP1 and PF1 (to force the Clearing Document and Clearing Date and reset the status).
In this case and for the moment, to update the changes in bw the solution is:
- Take the list of cockpit document modified in a excel file (1.1).
- On the first rows, write this: (2.1 + 3.1)
- Use excel function: =CONCATENER($A$2;A7;$A$1) to obtain:
- When we have all rows, we copy the text and paste in abap routine in full infopackage:
Excel file is usefull only to concatenate the differents elements, don't use excel file in infopackage, just need to copy and paste the text result (rows in yellow).
Like this, we can filter on several cockpit document in one load from sap to bw, and not one document by on document.
Don't forget to delete the routine in infopackage after the reloading;
Value Creation
Data flow
Source data for Value Creation come from Convergence source system and loaded in bw server with help of webmethods (Transaction AL11 → directory /exploit/BW/BOZAR → filename "ConvergenceToBW.csv").
Normally, webmethods launch event Z_EVT_PC_PUPE to run process chain PC_PUPE_04 and load automatically dso and cube.
Interface Value Creation: Salesforce-Webmethods-BW-QV
Master Data:
One master data text (C_BUSLINE) is filled by process chain PC_PUPE_02 (sub chain of PC_PUPE_04). Texts come from datat source DTS_PUPE_01 (same as transactional data of data flow Value Creation).
There is another master data used for Value Creation:
This master data is maintain on demand of purchasing team (Sylvie.Severini or Yi Ting Kuo).
In case of change, for attributes it's necessary to prepare a csv file in this format for example:
Then load the file in master data (change the source file of infopackage before to use the new file). For texts, for the moment, we change directly in text table of master data,.
Technical points to pay attention
Datasource DTS_PUPE_01: please to check data don't use "PSA Maintenance" button but use directly PSA table /BIC/B0011690001. Because of field description with type CHAR length 600 in datasource if we use "PSA Maintenance" we have a dump. It's necessary to have a lentgh of 600 to retreive all information of description (this field will be splited in next transformation).
Load data manually in case of issue
In all cases, when data are loaded in BW, please contact QlikView team to reloaded Purchasing Performance Visibility dashboard.
There can be three types of errors:
- Webmethods loaded file in bw server (/exploit/BW/BOZAR) but he was unable to launch the event:
Use function module Z_TRIGGER_EVENT to trigger event Z_EVT_PC_PUPE to load data in bw. - Webmethods can't trigger the event and also load data in bw server:
If webMethods team can send the file to load to bw team:
BW team need to update infopackage "IP: DTS_PUPE_01 PC_FILE - Full" to use local file and not server file (do not forget to hand over server file after).
Then, load data on DTS_PUPE_01 and after that run process chain PC_PUPE_03 (Go to transaction SE37, run Function Module RSPC_API_CHAIN_START):
Wait for data to be loaded, then run also PC_PUPE_02 (Texts).If webMethods team can't send the file to load to bw team:
Load data manually from SalesForce
- Connect to SalesForce. If you do not have access, contact Sylvie Severini to have an account created. If she is unavailable, send a mail to gps.pur@solvay.com
- In Dashboards, open Report "CONVERGENCE><SPRINT".
- Run Report, wait for the page to reload, then Export Details.
- Select UTF-8 and format csv, then click Export.
- Open file in Excel and apply the following changes:
- Remove N/A in all fields (Select All, press Ctrl+F, search for N/A leaving "replace by" field blank, Replace All)
- Replace comma (,) by dot (.) in numeric columns (Exchange Rate + Last 8 columns) using the same method as above.
- Insert a new column after Implementation Date. Copy column Implementation Date in new column Implementation Month.
- Update date formats of these two columns and Creation Date - DD.MM.YYYY for Implementation Date and Creation Date, YYYYMM for Implementation Month
- Insert new columns Action Recovery and Benefit Recovery
- Use model here (Tab: Source Data) to order the fields correctly.
If you can't access the file, go to DataSource DTS_PUPE_01 and look up the fields list.
Don't forget to add an empty column before Sequence (Monthly Benefit Date, not used as of yet) - Save the file as csv (semi-colon (;) separated)
- Connect to WBP. You will likely need FireFighter authorization. Go to DataSource DTS_PUPE_01, open "IP: DTS_PUPE_01 PC_FILE - Full" and change extraction target.
Adapter = Load Text File from Local Workstation
File name = Name (and full path) of the extracted csv
Don't forget to come back here to return to the previous setting after completing your reload!
Run Extract. - Once data is loaded in PSA, Run Process Chain PC_PUPE_03 (Go to transaction SE37, run Function Module RSPC_API_CHAIN_START)
- Wait for data to be loaded, then run also PC_PUPE_02 (Texts).
Working document
Contacts for value creation:
- Webmethod: Freshdesk ticket and direct contact with nikhil.bhosle-ext@solvay.com.
- Salesforce: Sylvie.Severini@solvay.com If she is unavailable, send a mail to gps.pur@solvay.com
- Qlikview: Freshdesk Ticket.
Planned Evolution
These evolutions are currently in progress (list to be updated)
- Evolution for 0FI_AP_4 / Solvay extractor to delete rule on Reference field (BKPF-XBLNR) + extension for House bank field (BSEG-HBKID)
First analysis : https://drive.google.com/open?id=1YkibgWKSvk7sqOzu3zEgGJcH0pr9TQfdpq0YKldWcIY
Useful transactions / programs
| Transaction | Description | Corresponding table | Comments |
|---|---|---|---|
| XK03 | Display Vendor (Central) | LFA1 | |
| MK03 | Display Vendor (Purchasing) | LFM1/LFM2 | |
| FK03 | Display Vendor (Company Code) | LFB1 | |
| ME23N | Display Purchase Order | EKKO/EKPO | |
| ME53N | Display Purchase Request | EBAN | |
| FB03 | Display Accounting Document | MKPF/BSEG BSIK/BSAK | |
| ME13 | Display Purchase Info Record (PIR) Afficher Fiche Info Achat (FIA) | to display scale (barême) choose "conditions" then icon "steps (marches) example RCS : Info Record 53002260253 or 5300260253 | |
| ME03 | Display Source List | source d'approvisionnement example RCS : material 1050025 / plant 7822 | |
| ZBW_VBF_LOAD | Load VBF filters and calculate VBF | ZBW_LOAD_FILE_VBF_FILTERS | Linked to authorization ZR_RCS_CA_M591 |
| ZBW_CYTEC_SPD | Load CYTEC transactional data | ZBW_LOAD_FLAT_FILE_CYTEC | Linked to authorization ZR_RCS_CA_M041 |































