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:
I would like to share via this document detailed technical instructions how to create the ABAP program and all related objects.
Please have a look
here to download the attachments.
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:
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)