In an Enterprise Data Warehousing context, InfoObjects often play an arbitrary double role: they are used for modeling the Data Warehouse Layer and multi-dimensional modeling the Reporting Layer. I advised segregation of duties by introducing a dedicated, independent set of InfoObjects: Data Warehouse InfoObjects.
But how about those Reporting InfoObjects? Should we simply activate all the Business Content InfoObjects we need? Or do we have to introduce our own set of InfoObjects, customized and fit to the Business Users’ requirements? Or a combination of both? I would like to propose an alternative approach: generating Reporting InfoObjects in the customer namespace based on Business Content InfoObjects using a program.
I created an ABAP program to generate Reeporting InfoObjects based on Business Content. For more information on using the program please refer to the blog series:
- Generating Reporting InfoObjects based on Business Content - Part 1: Introduction;
- Generating Reporting InfoObjects based on Business Content - Part 2: Metadata Repository & Customizing;
- Generating Reporting InfoObjects based on Business Content - Part 3: Optimizing Results.
I would like to share via this document detailed technical instructions how to create the ABAP program and all related objects.
Step 1: Create Number Range Object
SAP Menu: Tools > ABAP Workbench > Development > Other Tools > Number Ranges
T/code: SNRO
Create Number Range Object YBWDMTEMPL as shown in the screenshots.
Figure 1: Number Range Object (1)
Figure 2: Number Range Object (2)
Figure 3: Number Range Intervals
Step 2: Create Application Log Object
SAP Menu: Tools > ABAP Workbench > Development > Other Tools > Application Log
T/code: SLG0
Create Application Log Object YBW and Application Log Sub-object YBWREPIOBJ as shown in the screenshot.
Figure 4: Application Log Object and Sub-object
Step 3: Create Domain
SAP Menu: Tools > ABAP Workbench > Development > ABAP Dictionary
T/code: SE11
Create Domain YBWATTRIBGEN as shown in the screenshots.
Figure 5: Domain (1)
Figure 6: Domain (2)
Step 4: Create Data Element
SAP Menu: Tools > ABAP Workbench > Development > ABAP Dictionary
T/code: SE11
Create Data Element YBWATTRIBGEN as shown in the screenshots.
Figure 7: Data Element (1)
Figure 8: Data Element (2)
Step 5: Create Search Helps
SAP Menu: Tools > ABAP Workbench > Development > ABAP Dictionary
T/code: SE11
Create the following Search Helps as shown in the screenshots:
- YBW_BCTIOBJ - Search Help BCT InfoObject;
- YBW_BCTCUBE - Search Help BCT InfoCube;
- YBW_BCTDSO - Search Help BCT DataStore Object;
- YBW_REPIOBJ - Search Help Reporting InfoObject.
Figure 9: Search Help Business Content InfoObject
Figure 10: Search Help Business Content InfoCube
Figure 11: Search Help Business Content DataStore Object
Figure 12: Search Help Reporting InfoObject
Step 6: Create Tables
SAP Menu: Tools > ABAP Workbench > Development > ABAP Dictionary
T/code: SE11
Create the following Tables as shown in the screenshots:
- YBWADMIN
- YBWREPIOBJ
Create Table YBWADMIN as shown in the screenshots.
Figure 13: Table Administration Settings - Delivery and Maintenance
Figure 14: Table Administration Settings - Fields
Create Table YBWREPIOBJ as shown in the screenshots.
Figure 15: Table Reporting InfoObjects - Delivery and Maintenance
Figure 16: Table Reporting InfoObjects - Fields
Figure 17: Table Reporting InfoObjects - Entry Help/Check
Figure 18: Table Reporting InfoObjects - Foreign Key (1)
Figure 19: Table Reporting InfoObjects - Foreign Key (2)
Step 7: Create Lock Object
SAP Menu: Tools > ABAP Workbench > Development > ABAP Dictionary
T/code: SE11
Create Lock Object EYBWREPIOBJ as shown in the screenshots.
Figure 20: Lock Object (1)
Figure 21: Lock Object (2)
Step 8: Create Authorization Object
SAP Menu: Tools > ABAP Workbench > Development > Other Tools > Authorization Objects > Objects
T/code: SU21
Create Authorization Object Class YBW and Authorization Object YBWREPIOBJ as shown in the screenshots.
Figure 22: Authorization Object (1)
Figure 23: Authorization Object (2)
Step 9: Create Message Class
SAP Menu: Tools > ABAP Workbench > Development > Programming Environment > Messages
T/code: SE91
Create Message Class YBWRIOBJ as shown in the screenshots.
Figure 24: Message Class (1)
Figure 25: Message Class (2)
Refer to the attached file YCX_BW_REP_IOBJ_and_YBWRIOBJ_v1.txt (Part 1 - Message Class YBWRIOBJ) for an overview of all messages with their short text.
Step 10: Create Exception Class
SAP Menu: Tools > ABAP Workbench > Development > Class Builder
T/code: SE24
Create Exception Class YCX_BW_REP_IOBJ as shown in the screenshots. Make sure that you flag checkbox With Message Class.
Figure 26: Exception Class (1)
Furthermore, specify on the Properties tab Message Class YBWRIOBJ.
Figure 27: Exception Class (2)
Refer to the attached file YCX_BW_REP_IOBJ_and_YBWRIOBJ_v1.txt. From here you can quite easily build up the class using copy & paste:
- Public Section: the source code can be found in Part 2 of the attached file;
- Method CREATE_MSG: the source code can be found in Part 3 of the attached file;
- Description of Title, Attributes, Method and Parameters can be found in Part 4 of the attached file.
Step 11: Create Class
SAP Menu: Tools > ABAP Workbench > Development > Class Builder
T/code: SE24
Create Class YCL_BW_REP_IOBJ as shown in the screenshots.
Figure 28: Class
Refer to the attached file YCL_BW_REP_IOBJ_v1.txt. From here you can quite easily build up the class using copy & paste:
- Source code can be found in Part 1 of the attached file;
- Description of Title, Attributes, Methods, Parameters, Types and Text Symbols can be found in Part 2 of the attached file.
A manual post-processing action is necessary to restrict the SAP BW system(s) in which the program can be executed. Refer to public static method SYSTEM_CHECK. Just after the comment * Execute system check you can define the system(s). Typically you enter here your Development and Sandbox systems.
Step 12: Create Program
SAP Menu: Tools > ABAP Workbench > Development > ABAP Editor
T/code: SE38
Create Program YBW_REP_IOBJ_CREATE as shown in the screenshots.
Figure 29: Program
Refer to the attached file YBW_REP_IOBJ_CREATE_v1.txt. From here you can quite easily build up the program using copy & paste:
- Source code can be found in Part 1 of the attached file;
- Description of Title, Text Symbols and Selection Texts can be found in Part 2 of the attached file.
Step 13: Create Transaction
SAP Menu: Tools > ABAP Workbench > Development > Other Tools > Transactions
T/code: SE93
Create Transaction YRIOBJ as shown in the screenshots.
Figure 30: Transaction Code (1)
Figure 31: Transaction Code (2)