Wednesday, March 30, 2022

BW generation tool

The BW generation tool is to generate classes used in different data warehouse technical operation like: Activating data in DSO, extracting data from InfoProv, etc. Basically, every data operation in BW is performed via some generated piece of code.

Objects that are generated by BW generation tool usually falls under 'GP*' namespace. Those generated programs are sometimes called as writers. E.g. aDSO Writer, or InfoCube write program, etc.

The 'GP*' objects are generated by the BW generation tool according the templates. The generation is done by the program (generation) classes. The template is special ABAP include (e.g. RSDSO_ACTIVATE_TMPL) that contains a string like '*@' at the beginning of the line. Upon the generation, the template is filled with the actual data as per BW objects which it is being generated for.

Technically, there is a t-code RSSGPCLA (Maintain program class) where we can maintain what's template for particular data operation represented by the program class.

Assignment of program classes (field PROGCLASS, data element RSSG_PCLAS, domain RSSG_PCLAS) to template (field TEMPLATE, data element RSSG_TEMPL, domain PROGNAME) is stored in table RSSGTPCLA 'BW Generation Tool: Program Class'.

Here is few examples of different program classes:

RSAPTD1                        Generation of the Program for Transaction Data Transfer

RSDMD_ACTIVATE           Activation of requests for enhanced master data update

RSDRO_ACTIVATE            Activate an ODS Object

RSDRO_EXTRACT             Extraction of ODS Objects


RSDSO_ACTIVATE            Activation of DataStore Objects (advanced)

RSDSO_OLRPROC             Select Requests for Deletion in Process Type ADSOOLR

RSDSO_ROLLBACK           Deletion of requests from DataStore objects (advanced)

RSDSO_UPDATE              Update Procedures

RSDTPERR                      Error Handling DTP

RSDWTMPLWIDTP            InfoCube Update Program for DTP

RSODSO_ACTIVATE          Activation of DataStore Object Data

RSODSO_RDA                 Template for Realtime Data Acquisition

RSODSO_ROLLBACK         Deletion of request from DataStore objects


Furthermore there are tables as per different BW object (e.g. in case of IO it is table RSDCHABASLOC, in case of aDSO it is table RSOADSOLOC, etc.) that store an assignment of generated writer programs to the particular BW object.

A few situations are there that may require maintaining the table RSSGTPCLA via t-code RSSGPCLA. It is mostly in case when the writer program need to be regenerated e.g. due to upgrade of BW system. This activity is sometimes called as 'Reset generation flag'. It can be performed by hitting a button 'Set Status' located in a toolbar of the t-code RSSGPCLA. The status is set to "Generation required". This means once the operation will run for next time the generated/writer program will be regenerated prior. Technically the setting of the status is done by a call of FM RSS_PROGRAM_GENSTATUS_RESET.

When one does this it must be ensured that while the generation flag is reset for particular BW activity the operation is not in progress. Otherwise, the current operation is cancelled and some inconsistencies may occur.

No comments: