Overview
In SAP BW, there is no simple and straight forward way to get a list of scheduled Process chains. The program discussed in this blog will give you a list of scheduled process chains and their respective schedule start date and time.
Laborious way
Let us look at the lengthy process to get the name, date and time for each process chain job you find in SM37.
1. In SM37, find jobs with job name 'BI_PROCESS_TRIGGER' and Job status 'Released'
2. Double click on a job to see job details that contain scheduled date and time

3. Click the
button to go to Step Overiew

4. Select the step line and use menu path Goto - Variant

5. Here you see the Process Chain name

6. This process is very lengthy and has to be repeated for each process chain
Simple Approach
All the technical details we need come from two tables
- Table TBTCO: Job Status Overview Table (Job scheduled Date and Time)
- Table TBTCP: Background Job Step Overview (Program name and Variant)
- Function module RS_VARIANT_CONTENTS provides details of the Variant
- The details of the variant include name of Process chain and start process
Program
Here is a simple program to display some basic details
REPORT ZBI_SCH_PROCESS_CHAINS.
TYPES: BEGIN OF l_s_scheduled,
chain TYPE rspc_chain,
sdlstrtdt TYPE tbtco-sdlstrtdt,
sdlstrttm TYPE tbtco-sdlstrttm,
jobname TYPE tbtco-jobname,
jobcount TYPE tbtco-jobcount,
progname TYPE tbtcp-progname,
variant TYPE tbtcp-variant,
END OF l_s_scheduled.
DATA: l_t_scheduled TYPE STANDARD TABLE OF l_s_scheduled,
l_t_valtab TYPE STANDARD TABLE OF rsparams,
l_w_valtab TYPE rsparams.
FIELD-SYMBOLS <l_f_scheduled> TYPE l_s_scheduled.
SELECT a~jobname a~jobcount a~sdlstrtdt a~sdlstrttm b~progname b~variant
INTO CORRESPONDING FIELDS OF TABLE l_t_scheduled
FROM tbtco AS a JOIN tbtcp AS b
ON a~jobname = b~jobname AND
a~jobcount = b~jobcount
WHERE a~jobname = 'BI_PROCESS_TRIGGER' AND
a~status = 'S'. "Scheduled
SORT l_t_scheduled BY sdlstrtdt sdlstrttm ASCENDING.
WRITE :/ 'Chain Name ', '|' ,'Start Date', '|', 'Start Time'.
ULINE.
LOOP AT l_t_scheduled ASSIGNING <l_f_scheduled>.
REFRESH l_t_valtab.
CALL FUNCTION 'RS_VARIANT_CONTENTS'
EXPORTING
report = <l_f_scheduled>-progname
variant = <l_f_scheduled>-variant
TABLES
valutab = l_t_valtab
EXCEPTIONS
variant_non_existent = 1
variant_obsolete = 2
OTHERS = 3.
IF sy-subrc = 0.
READ TABLE l_t_valtab INTO l_w_valtab
WITH KEY selname = 'CHAIN'.
IF sy-subrc = 0.
<l_f_scheduled>-chain = l_w_valtab-low.
ENDIF.
WRITE :/ <l_f_scheduled>-chain, '|', <l_f_scheduled>-sdlstrtdt, '|' , <l_f_scheduled>-sdlstrttm.
ENDIF.
ENDLOOP.
ULINE.
Result
The Result of this program looks like below

You can enhance the report with other fields that are available in tables TBTCO and TBTCP.