Triggering Process Chain using a Planning Function in SAP Design Studio.
Currently unlike in WAD ,there is no direct command to trigger a BW Process Chain from Design Studio. But the functionality can be achieved using a Planning Function. This blog explains how the Planning function should be defined and executed in order to trigger a Process Chain from Design Studio.
Step 1: Create a Real time Infocube and include a Characteristic(XZPCCHAIN) and a Keyfigure (AMOUNT). The Keyfigure doesn’t have any purpose, but it is just a dummy.The Characteristic is used to hold the technical name of the process chain, which should be triggered from the dashboard.
Step 2: Go to the Transaction code RSINPUT and load the record in to the Real time cube, which we created in the previous step. In this case, the Process Chain ID is Z80_C0XXX_TD_004. I have maintained some dummy value for the Keyfigure 0AMOUNT.
Step 3: Create a Multiprovider(XMX_R01) on top of the Real time Infocube( XCX_R01) and assign both the Characteristic and Keyfigure. Creating a MPRO enables us to create an aggregation level on top of it in the next step.
Step 4 : Create an Aggregation Level (X80AGGRL) on top of the MPRO, and include both the Infoobjects( XZPCHAIN and 0AMOUNT) as part of the Aggregation Level.
Step 5: Create a Filter ( X80FILTR) on top of Aggregation Level a restrict XZPCCHAIN with Process Chain ID Z80_C0XXX_TD_004.
Step 6: Maintain the Function Module RSPC_API_CHAIN_START in the table RSPLF_DIR, so that it can be called in the FOX formula of the Planning Function.
Step 7: Create a Planning Function X80PLANFU on type FORMULA using the Aggregation Level X80AGGRL. Click on the Parameters tab and define the FOX formula as shown below. The Process Chain, which should be triggered should be passed to the Function Module as shown below.
Step 8: In the Design Studio, execute the Planning Function by clicking a button and it triggers the BW Process Chain. Create a button and define the “On Click Event” as shown below. The syntax is ( PF_1.execute();).
Step 9 : Execute the Dashboard and click on the button , there will be a message as “Planning Function executed without errors” . If we check in RSPC and the log view of the PC, we can see the PC being successfully triggered.
A handy idea!
I have tried to implement this solution but when I execute the planning function from design studio, it triggers the process chain 11 times. When i execute from WAD, it is trigerred only once.
Can anyone help me on this issue.
Thanks
Deepti Prabhu
Hi Santosh,
great step-by-step guide.
I`ve used this course of action a several times now.
Still wondering a little bit that this function is not incorporated in Lumira Designer like it was in WAD?
Or did I miss something?
Thank you + Best,
Marcus
HI Marcus,
We took this work-around as there is no direct command to trigger a process chain in Design Studio. In our earlier projects, we used the BeX WAD ( Web Application developer) , where this is available.
I am not sure, if there is a direct function available with Lumira.
Thanks
Santosh
Hello Santhosh,
We designed as above and executed locally in Design studio we are getting message like 'Design Studio PF1 executed without errors', but the process chain in the BW side not getting triggered and we dont see any authorization logs at the BW end. Can you help us if you have any idea what could have gone wrong.
Regards,
Subbu
Hi Subbu,
If I am right, this document is just an idea but not enough for fully used for real business scenario.
If we see the FOX code correctly, we can see that it is designed only to trigger the process chain, but no further monitor whether the chain is executed successfully or not.
I saw several planning consultants used it in real business system, so I think we need to know that point at least.
Best Regards,
Sheldon
nice trick... good to know.. thank you
however, i managed to achieve without following full steps above to make it simpler.
first, you don't need to input process chain name in the real time cube, just input 'dummy name'. in the planning function, you don't refer to the data anyway.
second, no need to create multiprovider, just create aggregation level on top of the real time cube.
third, just create filter without any selection.
by doing this, when there is new process chain, you don't need to maintain the real time cube, just create a new planning function which calls the new process chain.