General presentation
Objective of the application
EHS stands for Environment, Health and Safety. The Goal of EHS is to protect employees, the public, the environment and to comply with applicable laws and protect the Company's reputation. EHS departments, of some companies are responsible for environmental protection, occupational health and safety.
This application offers a set of reports about EHS specifications and documents:
Changes log on Pure Substances
Legal and Standard compositions
Pure substances use in authorization groups
Revision documents data
List of EHS documents with a released status (SDSs but also labels, transport documents, composition report and certificates)
SDS sending
Wiki EHS support: https://sites.google.com/a/solvay.com/wiki-ehs-support/wiki
Reporting Coordinator: Célia Gonzalez-Roux
Usage information
Around 50 users. Some reports are only for the use of the EHS Admin team (Role menu EHS - Admin) others also concerned product stewards.
History
Reports were delivered separately from 2014 to 2016. Last report "Pure Sub with Revision document" was delivered in june 2016.
Roles & Access
Roles and access
List of application role + menu role and explanation if we have several applications role with specials rules.
| Role Code | Role Description | Explanation |
|---|---|---|
| ZR_RCS_CA_M51 | Role menu for EHS admin team reports | |
| Role menu for EHS reports "documents generation" and "SDS shipping" | ||
| ZBI_RCS_EHS_A02 | Environment, Health and Safety Analysis - End User Role | Application Role:
|
Authorization objects
Link to the BW Catalog of role
https://drive.google.com/open?id=10GEfKYqrT1eeTO_uHYAheL1GX7L5y_pvH0KQU64qh5I
Dataflow overview
Reporting documentation drive folder:
https://drive.google.com/open?id=0B03hryo6pwqdTUtSSldyOXB0U1k
Functional and Technical rules
Rules & Explanations
Assessments dataflow
SAP system logs all the changes that are made within the Specification Management (changes on substances properties, compositions…). This flow extracts these changes, from the table EST_CHANGE_DOCS which updated using the program RC1_CHANGE_DOCS_GET.
Table EST_CHANGE_DOCS contains 2 years of data.
Program RC1_CHANGE_DOCS_GET is not automatically running in non productive systems.
Zone determination (R1)
General case: the zone is obtained from the characteristics (C_ATWRT) attribute.
Special case: if the modification type is "Delete" and the characteritic value is empty, the zone is obtained from the Value Assignement Type (C_ESTCAT) attribute.
PURE_SUB determination when LIST_SUB inheritance (R2)
Some data are managed at LIST_SUB level and transfer to the PURE_SUB by inheritance link. In that case, the modification recovered in EST_CHANGE_DOCS table is at LIST_SUB level but not at PURE_SUB level.
In order to recover the LIST_SUB modifications at PURE_SUB level, the inheritance link are extracted into BW (DSO_EHSG). Each modification at LIST_SUB level is duplicated for each corresponding PURE_SUB. The LIST_SUB specification is kept in infoobject EHS_SPEC and the PURE_SUB specification in infoobject C_SPEC2. The flag "Inherited data" (C_SUBFLG) is filled.
Modification type (R3)
The field "Change Indicator Flag" (C_CHIND) is used to know how the EHS data have been modified: deletion, first load (insert), update, inactivation.
The change indicator field (CHNGIND) in source table EST_CHANGE_DOCS is used to determine a different value in C_CHIND, depending of the other lines on the change document:
Modification type = Insert
If records with TABNAM = ESTCAT have CHNGIND = U, and have a record with TABNAM = ESTDU and CHNGIND = I and with same MASTER_RECN, then modification type field = Insert.
Modification type = Update
If records with TABNAM = ESTCAT have CHNGIND = U, and do not have records with TABNAM = ESTDU with same MASTER_RECN, then modification type field = Update.
Modification type = Delete
If records with TABNAM = ESTDU have CHNGIND = D, then modification type field = Delete.
Modification type = Inactivate
If we have records with TABNAM = ESTDU, FNAM = ACTVFLG, VALUE_OLD = X and VALUE_NEW is empty, then modification type = Inactivate.
Instance ID determination (R3)
The instance ID on the lines concerning changes on characteristics value or usage is not filled in the table EST_CHANGE_DOCS. That is why the instance ID is determined in the extractor from ESTVA table. However, if the instance is deleted, the corresponding record is first flagged as "deleted" in the tables and then is physically removed from ESTVA. In consequence, to be able to retrieve the instance ID when the instance is deleted, we have to find it in the logs concerning ESTVA table changes => this is done by a look up in the propagation layer DSO DPEHS01 where tabname = "ESTVA".
Datasources customer exit:
- DTS_ZEST_CHANGE_DOCS (R4):
- determination of the instance (zzord) from table ESTVA. If this instance can't be determined because it was deleted from the table, a look up is done in BW (cf. Instance ID determination (R3))
- determination of the usages (zzusage) from table ESTDU. If there are several usages, they are concatenated in the same field. The usages are not determined for lines with tabname = "ESTVA" or "ESTCAT" when they are deleted.
Legal and Standard Compositions dataflow
Compositions are extracted using specific datasources based on Infosets. A filter in the Value Assignment Type (ESTCAT) allows to restrict the extraction to Legal (EHS_1012_024) and Standard (SAP_EHS_1012_003) compositions.
Full loading is required because data can be deleted in source system database: deletion flags are filled but database entries can be deleted before the loading into BW so we could miss some deletion if we work with delta.
To not delete Data Propagation DSO content
DSO content must not be deleted because deleted compositions and specifications are not kept in the source system, so it is not possible to recover historical data.
Historical data is only needed for the DSO DBEHAD02 which is used for EHS KPI.
Inherited compositions
Inherited compositions (from a template specification) are not extracted by the datasource “DTS_EHS_LEGAL_COMPO”. Another datasource “DTS_EHS_COMPO_INHERITED” was created in order to extract these inherited compositions.
No technical rules were given to handle the case of breaking an inheritance as this case should not occur.
"General" authorization group (R1)
If the key of the authorization group is ZZ_BU*X or ZZ_BU*R, the “general” authorization group is the authorization group without the last character (example : authorization group = ZZ_BU_01R => “general” authorization group = ZZ_BU_01). We check the existence of the “general” authorization group in MD 0EHS_AUTH.
Else, the "general" authorization group is the authorization group.
Revision documents dataflow
Revision documents data are extracted using a specific datasources based on the Function Module Z_WBW_DTS_EHS_REV_MGMT. It extracts data from tables ESTRH (EHS: Specification Header), ESTVH (EHS: Specification - Value Assignment Type Assignment), ESTVA (EHS: Value Assignment), ESTDU (EHS: Additional Information: Value Assignment Usage), ESTDF (Additional Information - User-Defined Text), CABN (Characteristic) and AUSP (Characteristic Values).
The need for reporting is to see all PURE_SUB even if there is no revision document for the substance. That is why the flow is based on the extractor of the specifications (0EHS_SPEC_ATTR) and that a look up is done in the DSO DPEHAD03 to retrieve the Revision documents data.
Full loading is required because data can be deleted in source system database: deletion flags are filled but database entries can be deleted before the loading into BW so we could miss some deletion if we work with delta.
Revision documents data (R1)
The revision documents data are added to the corresponding substances in DBEHAD03 by a look up in the DSO DPEHAD03.
If there are several revision document instances, only data from the last instance are taken.
Report shipping dataflow
SAP shipping process send SDS (Safety Data Sheet) to customers when Rhodia Legacy or Solvay legacy sold a product to them
SDS shipping trigger is the sale order. When a sale order is created, the SDS is sent to customer.
This flow extracts these shipping data from tables CVDDH (EHS: Report shipping orders), CVDDP (EHS: Parameter Values for Report Shipping) and VBAK (Sales Documents).
Full loading is required because data in EHS tables can be deleted in source system database: deletion flags are filled but database entries can be deleted before the loading into BW so we could miss some deletion if we work with delta.
To avoid a daily complete deletion and reloading, a selective deletion of the 12 last months in DSO and cubes is done and only this perimeter is reloaded.
Filter on status (C_ESTATUS) in Business Propagation Layer
Only status required for the reporting are updated:
- “{8” (Completed)
- “{9” (Historical)
- “{B” (Error found)
Filter on document types (C_EHDOKAR) in Business Propagation Layer
The following type are excluded:
- “DBE” (Cover Sheet Template)
- “DBV” (Cover sheet - final version)
Data from sales documents (sales org, sales group, sales office) (R1)
The link between the report shipping order and the sales document exists in table CVDDP (EHS: Parameter Values for Report Shipping).
The sales document is filled in the field VALUE of the table CVDDP lines with ATTRIB = "VBELN".
The datasource DTS_ZEHS_CVDDP_S (resp. DTS_ZEHS_RS_CVDDP for Rhodia) is based on a view on tables CVDDP and VBAK (Sales Documents), restricted on CVDDP-ATTRIB = "VBELN".
Document generation dataflow
Through SAP EHS, a lots of EHS documents can be generated, e.g. SDS (Safety Data Sheet), Label (Sample Label, Transportation Label, GLM Label), TDS (Technical Data Sheet).
This flow extracts data from tables ESTDH (EHS: Report Header) and DRAP (Document Log File).
Datasources :
- DTS_EHS_ESTDH (EHS: Report Header): extracts data from table ESTDH via the Function Module Z_WBW_DTS_EHS_ESTDH. The date of status change ZREPRDAT is obtained by look up in table DRAP.
Master Data dataflow
Characteristic (C_ATWRT)
Attributes:
C_ATWRT attributes are loading from a flat file (DTS_C_ATWRT_FF).
This loading is not scheduled.
The file contains 2 attributes :
- Magnitude Geographie / Zone (C_ZONE): it contains the zone (AP, EU, LA, NA, WW) used for the Assessment report (first tab).
- Assessment report flag (C_ASSRFLG): "X" if the characteristic must be included in the Assessment report.
Flat file directory: https://drive.google.com/open?id=0B03hryo6pwqdbXhJd1VhVXJBbW8
Value Assignment Type (CLASS) (C_ESTCAT):
Attributes:
C_ATWRT attributes are loading from a flat file (DTS_C_ESTCAT_FF).
The file loading is not scheduled.
The file contains 3 attributes :
- Magnitude Geographie / Zone (C_ZONE): it contains the zone (AP, EU, LA, NA, WW) used for the Assessment report (first tab) for the modification type "Delete" when the characteristic value is empty.
- Assessment report flag (C_ASSRFLG): "X" if the characteristic must be included in the Assessment report.
- IH Report flag (C_IHFLG): "X" if the characteristic must be included in the IH report.
Flat file directory: https://drive.google.com/open?id=0B03hryo6pwqdbXhJd1VhVXJBbW8
Specifications (0EHS_SPEC):
Attributes:
0EHS_SPEC attributes are loading from the standard datasource 0EHS_SPEC_ATTR.
The following zone are updated by the customer exit:
- ZZIDTYPE = ESTRI-idtype for ESTRI-langu = "EN". (first value)
- ZZIDCAT = ESTRI-idcat for ESTRI-langu = "EN". (first value)
- ZZNUNCAS = ESTRI-ident for ESTRI-idtype= "NUM", ESTRI-idcat="CAS" and ESTRI-langu = "".
- ZZNANINT = ESTRI-ident for ESTRI-idtype= "NAM", ESTRI-idcat="Z_INTERNAL" and ESTRI-langu = "".
- ZZNUNCE = ESTRI-ident for ESTRI-idtype= "NUM", ESTRI-idcat="EINECS" and ESTRI-langu = "" or for ESTRI-idtype= "NUM", ESTRI-idcat=" CE" and ESTRI-langu = "" or for ESTRIidtype= "NUM", ESTRI-idcat="Z_LISTNUM" and ESTRI-langu = "".
- ZZNANPLC = ESTRI-ident for ESTRI-idtype= "NAM", ESTRI-idcat="Z_PLC" and ESTRI-langu = "".
- ZZOWNER = ESTRI-ident for ESTRI-idtype= "NAM", ESTRI-idcat="Z_OWNER" and ESTRI-langu = "".
- ZZPORTFO = ESTRI-ident for ESTRI-idtype= "NUM", ESTRI-idcat="Z_PORTFO" and ESTRI-langu = "".
- ZZOBSFLG = "X" if:
- ESTRI-ident = "OBSOLETE" for ESTRI-idtype= "NAM", ESTRI-idcat="Z_PLC" and ESTRI-langu = "".
- ESTRI-ident = " *OBS*" for ESTRI-idtype= "NAM", ESTRI-idcat="PROD" and ESTRI-langu = "" or "E". - ZZCRDAT = ESTRH-CRDAT.
Dependencies with other applications
Data loadings
Info providers and objects loaded
Main Process Chains
Process Chain | Code | Type | Frequency | Comments |
|---|---|---|---|---|
| EHS Daily Transacional | EHS_TRANSACIONAL | SLAVE |
|
|
| EHS Assessment Report | PC_EHS_ASSESSMENT | SLAVE |
|
|
| EHS: TD - D - Admin | PC_EHS_ADMIN_01 | SLAVE |
|
|
| EHS Revision Documents | PC_EHS_REV_DOC | SLAVE |
|
|
| EHS: TD - D - Document Generation | PC_EHS_DG_MAIN_001 | SLAVE |
|
|
| EHS: BRC - D - Document Generation Broadcasts | PC_EHS_DG_BCAST_001 | SLAVE |
|
|
| EHS: TD - D - Report Shipping | PC_EHS_RS_MAIN_001 | SLAVE |
|
|
| EHS Dailly MD Attributes | EHS_MASTER_DATA | SLAVE |
|
|
| EHS Daily MD Text | EHS_MASTER_DATA_TXT | SLAVE |
|
|
Average performance
| Key Figure | Estimation |
|---|---|
| ~ Average Process Chain Runtime | |
| ~ Average nb of rows loaded per load | |
| ~ Total nb of rows loaded (if full) | |
| ~ Average Runtime for 10k lines |
Record Keeping
All records.
Reporting
Queries End User Documentation
Main queries
All reports are available via workbooks published in the Roles menu.
Role menu "EHS Reporting - ADMIN Reports" (ZR_RCS_CA_M51)
- Assessments Report
- Shared Pure Sub
The aim of this report is to see which Authorization group are using which Pure Sub in their Prod com.
The report is based on the Legal and Standard compositions of the Prod com. The Pure substances in the compositions are displayed by the "general" authorization groups of the Prod com.
The ratio "NB Authorization Group" count the number of times that a distinct "General" Authorization group uses the Pure Sub.
BEx Query = EHS - Shared Pure Sub (BW_QRY_MVEHAD01_0001)
Exception Aggregation "Count for all detailed values" for the ratio "NB Authorization Group" for the Ref. Characteristic "C_EHSAUTG".
- Revision Documents
The aim of this report is to see which Pure Sub have a Revision document in SAP. When a substance has a revision document, some details on the document are displayed.
BEx Query = EHS: Revision Documents (BW_QRY_MVEHAD03_0001)
Role menu "EHS Reporting - SDS Reports" (ZR_RCS_CA_M45)
Main functionalities
Broadcast
- IH report
- Document generation
- ?
Maintenance
Known bugs
Recurring procedure
Planned Evolution





