Automate recursive triggering of Process Chains in SAP BW using TVARVC table
1.1 Scenario and Requirement
We had to perform reloads in the cube and DSO after change in Transformation Logic . The Data was first loaded in a Standard DSO and then into the cube.
– The Challenge was to perform reloads for data for last five calendar years is from 2007 -2012. Full loads and the DSO activations were consuming huge amount of time and system resources. Hence due to the high data volume the load had to be performed on 0FISCPER basis.
– Once the process chain execution for a particular 0FISCPER is complete the 0FISCPER selections had to be changed manually and the chain had to be triggered again resulting in delays.
Hence the TVARCV table is used to update the info package selections .
1.2 TVARCV Table
TVARCV table is SAP R/3 table of which can be updated/changed manually(using SM30) or by using transactions STVARVC or ABAP
Creating Entries in TVARCV table
Go to transaction STVARVC and click on the create option. Create a variable of type 0FISCPER as our info package selection is 0FISCPER.
– Basic Knowledge of ABAP programs and Program Variants.
– Basic Knowledge of Process Chains and variants Like Decision variables, Start Variant settings etc.
– Basic Knowledge of Events and Triggering Process Chains using ABAP programs.
– Basic Knowledge of Delta settings of DTPs.
2.0 Process Chain Structure:
Process Chain structure is as follows
Detailed explaination of each variant in the chain is given below.
2.1 Start Variant of the Process Chain:
– The start variant will have the setting as shown below.It means that the Process chain will be triggered each time the event Z_TRIGGER_JOB.
The event is raised by an abap program which is added at the end of the chain.
The event is created Z_TRIGGER_JOB using transaction SM62.
Once the design of the chain is complete the chain is scheduled.We can also see the scheduled job of the start variant.
The Jobs of the process chain will be in ‘RELEASED’ state until the Event is raised.
The released state of the Jobs will prevent the chain from executing.
Once the event is raised the job is gets FINISHED the Chain Execution starts.
2.2 Infopackage Routine
The infopackage routine will extract the value from TVARCV table and populate the value in the
range table of the info package selection .
Value in TVARCV table:
Info package O/P
2.3 Updating TVARVC Table Using ABAP program
The purpose of this program is to increment the value of ‘ZTEST_158’ in TVARCV table so that we get a new selection for the infopackage
for the next process chain execution.
Selection screen will have Variable, variable type and offset as input.The program will automatically update the Entries in the TVARCV table. Also
a variant will be created for the same which will be used in the process chains.
In process chain
2.4 Creating Custom Function in Decision Variable
The main purpose of the decision variable is to prevent the process chain from executing infinite number of times using some condition which
in our case is 0FISCPER selection . The Chain should trigger recursively untill the value of ‘ZTEST_158’ becomes 2013001.
This is done by creating custom defined functions which can be used in decision variables.
Following are the steps to create custom functions using decision variables
1. Go to transaction SE19 and create implementation for BADI ‘RSAR_CONNECTOR’.
This will automatically create a class ZCL_IM_DEMO_CUSTOM.
2. Go to Transaction SE24 and create a method ‘C_GET_TVARVC_DATA’ as shown.
3. Again go to SE19 transaction and open the implementation.
In the GET method of the Implementation write the following code.
4 In the process chain Decision Variable we can add the Custom defined function.
2.5 Triggering Process Chain Using Events:
The Decision variable will check if the fiscper is GT 2013001.
If the variable value is GT 2013001 it will execute the Full DTP load from DSO to cube.
If the variable value is LT 2013001 it will execute the execute an ABAP program which will trigger the same chain again.
The chain will be triggered by raising an event and parameter maintained in the start variant in the chain.
The ABAP program and the variant will be added in the process chain as shown in the Process chain structure.
The ABAP program will use the standard function module ‘ROPC_EVENT_RAISE’ to raise the event.
the FM will take the EVENT and PARAMETER as input.
As discussed earlier,once the chain is created it is scheduled.
For only the FIRST run of the chain the triggere will be provided manually
i.e by executing the trigger program manually with the variant .
Hence using the recursive process chain we can automate the reloads and reduce manual intervension and