Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
sander_vanwilligen
Active Contributor
0 Kudos


Standardization is a key aspect of SAP BW Layered, Scalable Architecture (LSA), SAP’s best practice in Enterprise Data Warehousing. One of the ways to realize standardization in the data staging process is developing generic, reusable ABAP building blocks with a comprehensive interface.

From an Enterprise Data Warehousing perspective, the process of Data Unification can be classified as a modeling pattern. The Data Unification Services' ABAP building block and central control tables are designed to standardize and facilitate this process.

In my blog Data Unification Services - Supplementing Administrative Characteristics I discussed Data Unification Services, the concept behind it and how to use it in the transformation.

I developed a working version of the Data Unification Services which I would like to share via this document. It covers all details on creating the ABAP Objects classes, including the source code and all necessary ABAP Workbench objects.

Please have a look here to download the attachments.

Step 1: Create Domains


SAP Menu: Tools > ABAP Workbench > Development > ABAP Dictionary


T/code: SE11


 

Create Domains YBWDOMAIN and YBWORGUNIT as shown in the screenshots.


 


Figure 1: Domain for Data Domain (1)


 


Figure 2: Domain for Data Domain (2)


 

Note that this is just an example. The value list is entirely dependent on your organization’s data management framework.


 


Figure 3: Domain for Organizational Unit (1)


 


Figure 4: Domain for Organizational Unit (2)


 

Note that this is just an example. The value list is entirely dependent on your organization’s data management framework.



Step 2: Create Data Elements


SAP Menu: Tools > ABAP Workbench > Development > ABAP Dictionary


T/code: SE11


 

Create Data Elements YBWDOMAIN and YBWORGUNIT as shown in the screenshots.


 


Figure 5: Data Element for Data Domain


 


Figure 6: Data Element for Organizational Unit



Step 3: Create Search Helps


SAP Menu: Tools > ABAP Workbench > Development > ABAP Dictionary


T/code: SE11


 

Create Search Helps YBW_DSFIELD and YBW_IOBJFNM as shown in the screenshots.


 


Figure 7: Search Help for DataSource Fields


 


Figure 8: Search Help for InfoObject and Field Name



Step 4: Create Tables


SAP Menu: Tools > ABAP Workbench > Development > ABAP Dictionary


T/code: SE11


 

Create Tables YBWADMIN, YBWUNISRC, YBWUNIVAL and YBWUNIREF as shown in the screenshots.


 

Note: The following Delivery and Maintenance properties apply for all tables.


 


Figure 9: Delivery and Maintenance Properties


 


Figure 10: Control Table - Administration Settings


 

Note: Insert a new parameter record in the table with object DOMAIN_PARTITIONING and value X in order to activate the domain partitioning functionality.

 


Figure 11: Control Table - Domain Driving Source Field DataSource (1)


 


Figure 12: Control Table - Domain Driving Source Field DataSource (2)


 


Figure 13: Control Table - Domain Driving Source Field DataSource (3)


 


Figure 14: Control Table - Domain Driving Source Field DataSource (4)


 


Figure 15: Control Table - Domain Driving Source Field DataSource (5)


 


Figure 16: Control Table - Value Assignments (1)


 


Figure 17: Control Table - Value Assignments (2)


 


Figure 18: Control Table - Value Assignments (3)


 


Figure 19: Control Table - Reference Domain Driving Characteristic (1)


 


Figure 20: Control Table - Reference Domain Driving Characteristic (2)



Step 5: Create Message Class


SAP Menu: Tools > ABAP Workbench > Development > Programming Environment > Messages


T/code: SE91


 

Create Message Class YBWUNI as shown in the screenshots.


 


Figure 21: Message Class (1)


 


Figure 22: Message Class (2)


 

Refer to the attached file YCX_BW_UNIFICATION_and_YBWUNI_v1.txt (part 1 - Message Class YBWUNI) for an overview of all messages with their short text.



Step 6: Create Exception Class


SAP Menu: Tools > ABAP Workbench > Development > Class Builder


T/code: SE24


 

Create class YCX_BW_UNIFICATION as shown in the screenshots. Make sure that you flag checkbox With Message Class.


 


Figure 23: Exception Class (1)


 

Furthermore, specify on the Properties tab Message Class YBWUNI.


 


Figure 24: Exception Class (2)


 

Refer to the attached file YCX_BW_UNIFICATION_and_YBWUNI_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_LOG_REC: the source code can be found in Part 3 of the attached file;

  • Method CREATE_MONITOR_REC: the source code can be found in Part 4 of the attached file;

  • Description of Title, Attributes, Methods and Parameters can be found in Part 5 of the attached file.


Step 7: Create Class


SAP Menu: Tools > ABAP Workbench > Development > Class Builder


T/code: SE24


 

Create class YCL_BW_UNIFICATION as shown in the screenshot.


 


Figure 25: Class


 

Refer to the attached file YCL_BW_UNIFICATION_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.


Step 8: Create Administrative Characteristics


SAP Menu: Modeling > Data Warehousing Workbench: Modeling


T/code: RSA1


 

Create the Characteristics according to the following specifications.


 














































Characteristic



Description



Data Type



Length



Reference


Characteristic



XDOMAIN



Data Domain



CHAR



1



XORGUNIT



BW Organizational Unit



CHAR



4



XORIGIN



Origin Source System



0LOGSYS



XREQUID



Data Request (GUID)



0TCTREQUID



XTIMESTMP



Load Timestamp (YYYYMMDDhhmmss)



0TCTTIMSTMP



 

Note:

  • You might want to choose for different technical InfoObject names. However, you should realize that you will have to adapt the source code accordingly in this case;

  • It makes sense to activate and maintain texts for the InfoObjects XDOMAIN and XORGUNIT.


Step 9: Create ABAP Patterns (optional)


SAP Menu: Tools > ABAP Workbench > Development > ABAP Editor


T/code: SE38


 

The functionality to create ABAP Patterns is a bit hidden in the ABAP Editor. You have to open the source code of any program (display mode will do) and go to the menu path:


Utilities > More Utilities > Edit Pattern > Create Pattern


 

Here you can create the ABAP Patterns which I suggest to use:




  • YBW_END_UNI - Execute Data Unification Services - End Routine;

  • YBW_END_UNI_X - Execute Data Unification Services - End Routine (Domain 'X');

  • YBW_EXPERT_UNI - Execute Data Unification Services - Expert Routine;

  • YBW_EXPERT_UNI_X - Execute Data Unification Services - Expert Routine (Domain 'X').


 

Refer to the attached file ABAP_Patterns_v1.txt for the source code to be inserted in the respective ABAP Pattern.



1 Comment
Labels in this area