Generating Data Warehouse InfoObjects – Part 3: Customizing
Data Warehouse InfoObjects can be defined as the data elements to populate the Data Warehouse layer of your Enterprise Data Warehouse. Please refer for a conceptual overview to my blog Introducing Data Warehouse InfoObjects – Part 1: Conceptual Overview. For SAP Source Systems it is advisable to take advantage of the structured and comprehensive ABAP Data Dictionary to generate these Data Warehouse InfoObjects. Please refer for more technical details to my blog Introducing Data Warehouse InfoObjects – Part 2: Technical Details.
I created an ABAP program to generate Data Warehouse InfoObjects for SAP source systems’ DataSources. This blog series explains how to use the program.
In Part 3 we will have a look at the customizing. There are various administration settings which can be customized according to your needs. Furthermore you can maintain “exclude patterns” to optimize the generation of InfoObject technical names. Furthermore, the maintenance related to time characteristics is discussed. Finally, the authorization aspects are addressed.
The blog series consists of the following blogs in addition to this blog:
- Generating Data Warehouse InfoObjects – Part 1: Introduction;
- Generating Data Warehouse InfoObjects – Part 2: Metadata Repository;
- Generating Data Warehouse InfoObjects – Part 4: Optimizing Results.
I published the following 3 documents with detailed technical instructions how to create the ABAP program and all related objects:
- Implementing Data Warehouse InfoObjects – Part 1: ABAP Dictionary Objects;
- Implementing Data Warehouse InfoObjects – Part 2: ABAP Programming & Other Objects;
- Implementing Data Warehouse InfoObjects – Part 3: ABAP Developments in SAP Source System.
Please have a look here to download the attachments.
Similar to the RSADMIN table I created table YBWADMIN to be able to parameterize particular functionality. There are six parameters related to Data Warehouse InfoObjects.
Figure 1: Administration settings
Parameter DWHIOBJ_NAMESPACE allows you to define your own namespace in which all Data Warehouse InfoObjects will be generated. The program is able to work with a “standard” customer namespace (i.e. A, B, …, Z) or a registered customer namespace (i.e. in the format /<ABC>/). In my example namespace D is used which means that all generated Data Warehouse InfoObjects will start with the D.
You are able to define your own InfoObject Catalogs for the various Data Warehouse InfoObjects. There are four parameters to specify those InfoObject Catalogs:
- DWHIOBJ_CAT_CHABAS – InfoObject Catalog for Basic Characteristics;
- DWHIOBJ_CAT_CHAREF – InfoObject Catalog for Characteristics with Reference;
- DWHIOBJ_CAT_UNI – InfoObject Catalog for Units;
- DWHIOBJ_CAT_KYF – InfoObject Catalog for Key Figures.
Parameter DWHIOBJ_INFOAREA enables you to specify an InfoArea in which the generated Template DSOs will be stored.
Please note that the InfoObject Catalogs and InfoArea must exist before the program can use them. This is normally a one-time action.
As we all know there is only a limited space for the InfoObjects’ technical name: it may not exceed 9 characters. In case of a “standard” customer namespace of 1 character, there are 8 remaining characters left. However, domains and data elements are regularly longer than 8 characters. This might not always contribute to a meaningful technical name.
In some cases it makes sense to exclude particular patterns in the domain’s or data element’s technical name. This is often the case with a prefix and a suffix.
The purpose of table YBWIOBJEXP is to be able to define such patterns which have to be excluded from the generated InfoObject’s technical name. If applicable the program will strip the pattern from the domain or data element technical name in order to yield a more meaningful technical name.
Figure 2: Exclude patterns
Please refer to the attached file YBWIOBJEXP_v2.txt for the first content which is based on SAP ECC and SAP CRM. You can maintain this table yourself if necessary.
Note: I strongly advise you prior to running the program to screen any new DataSource on unwanted prefixes and suffixes in Domains and Data Elements. You can refer to the contents of table RSDSSEGFD for the respective DataSource.
The program needs a bit of help to detect Time Characteristics other than 0CALDAY. E.g. 0CALMONTH or 0FISCYEAR. The purpose of table YBWIOBJTIM is to store the domains related to such Time Characteristics. The program will generate a Characteristic with Reference based on the respective Time Characteristic.
Figure 3: Time characteristics
Please refer to the attached file YBWIOBJTIM_v2.txt for the first content which is based on SAP ECC and SAP CRM. You can maintain this table yourself if necessary.
Note: I strongly advise you prior to running the program to screen any new DataSource on Time Characteristic related Domains. You can refer to the contents of table RSDSSEGFD for the respective DataSource.
To be able to execute the program you need an authorization role which contains authorization object YBWDWHIOBJ. Within the role you can restrict processing to particular DataSources and/or Source Systems.
I created two example roles. The first one grants the user maximum authorization, i.e. the user is able to execute the program for every DataSource and all Source Systems.
Figure 4: Authorization role with maximum authorization
The second example will limit the user’s authorization to all DataSources in only one Source System.
Figure 5: Authorization role with limited authorization
In this blog I discussed the Customizing. We had a look at the various administration settings, “exclude patterns” to optimize the generation of InfoObject technical names, the maintenance related to time characteristics and last but not least the authorization aspects. Generating Data Warehouse InfoObjects – Part 4: Optimizing Results explains how to optimize the results.