You are on page 1of 13


This document explains how the interrupt process is handled by the process chains. This
technical description supposes that the reader has a good knowledge of the process chain
The page ‘Summary (analyze helper)’ aims to help in the analyze of the interrupt event
The technical aspects are vaild with the BW version 7.30 (support package 7).

event. interrupt event.What is an interrupt process? The chain is scheduled with an interrupt process inside: The start conditions of the interrupt process are: The process chain scheduling creates 2 jobs for this interrupt process in the table TBTCO: The job BI_PROCESS_INTERRUPT manage the process step behavior and « records » the waiting for the event. . The BI_INTERRUPT_WAIT is scheduled to start the interrupt It « consumes » the If thejob chain is not scheduled then the system doeson not handle the event.

The interrupt process is waiting for the event: The job BI_PROCESS_INTERRUPT is executed. The job BI_PROCESS_INTERRUPT is finished and a new one is created because the interrupt process is periodic (table TBTCO): . It creates an entry in the table RSPCINTERRUPTLOG: LOG_ID: chain log INSTANCE: identifier of the current interrupt process FINISHED: empty value means the interrupt process is waiting for the interrupt event REPORTED: the UTC date & time of the update If an entry was existing with FINISHED empty then it was deleted.1 The process chain started and reached the interrupt step.Case 1: The interrupt event is raised while the interrupt process is waiting .

it selects the entry for the chain. The field LOG_ID allows retrieving the chain run and the field INSTANCE allows terminating the interrupt process. the process variant. The job BI_INTERRUPT_WAIT starts and identifies the process chain and the process variant. In the table RSPCINTERRUPTLOG. Table RSPCINTERRUPTLOG: The job BI_INTERRUPT_WAIT is finished and a new one is scheduled because the job is periodic. Table TBTCO: .Case 1: The interrupt event is raised while the interrupt process is waiting . The entry is updated with FINISHED = X.2 The interrupt event is raised by another chain or manually. and FINISHED empty.

The field REPORTED is the UTC date & time of the interrupt step termination (job BI_PROCESS_INTERRUPT). The interrupt event has been raised by another chain or manually. The field REPORTED is the UTC date & time of the event creation. . The content of the table RSPCINTERRUPTLOG is: This entry means that the interrupt event has been raised. then the event is not followed by the system. An entry is created for each interrupt process. and FINISHED empty. The fields LOG_ID and INSTANCE are empty. The field FINISHED is empty. The field JOBCOUNT refers to the job BI_INTERRUPT_WAIT. The chain having the interrupt process starts. This entry is deleted. In the table RSPCINTERRUPTLOG. A new entry is created in the table: The fields LOG_ID and INSTANCE are updated with the parameters of the current interrupt process. the process variant.Case 2: The interrupt event is raised before the interrupt process If the chain with the interrupt process is not already scheduled. The field FINISHED equals ‘X’. the job BI_PROCESS_INTERRUPT selects the entry with the chain.

A successful message “Interrupt was successfully reset” is displayed in the status bar. This method is also valid if the chain is not scheduled. right-click on the interrupt process and click on “reset interrupt”.How to purge the event history? The table RSPCINTERRUPTLOG is not purged and contains entries since 2009 in PBA. The table has entry because the event has been raised: Display the process chain. . The entry is deleted from RSPCINTERRUPTLOG.

If this action is not done.How to stop chain with interrupt process . Terminate the interrupt process with the function module RSPC_PROCESS_FINISH.1? The chain is running and wait for the interrupt event: The table RSPCINTERRUPTLOG should have entry corresponding to the interrupt process: Display the chain and remove from schedule. The input parameters are found in the table RSPCINTERRUPTLOG: . As a consequence the current run is stopped. then the jobs BI_PROCESS_INTERRUPT and BI_INTERRUPT_WAIT remain in the system and future events will be assigned to the wrong chain execution.

This method avoid event desynchronization. . but the interrupt process remains “yellow”. The chain status is “red”. It is not useful to deactivate and reactivate the chain. The function module RSPC_API_CHAIN_INTERRUPT allows terminating a chain run by removing it from scheduling.How to stop chain with interrupt process . The table RSPCINTERRUPTLOG still has the entry.2? The status of the interrupt process must be cancelled (‘X’) int the table RSPCPROCESLOG: The chain run must be cancelled be cancelled (‘X’) int the table RSPCLOGCHAIN: MANUAL_ABORT = ‘X’ the run was stopped manually (example: the chain is unscheduled). It leads to the same result.

 The transaction SM64.How to raise an event?  The function BP_RAISE_EVENT is obsolète and has been replaced by the method cl_batch_event=>raise.  The program BTC_EVENT_RAISE. These methods are compliant with the coordination between events and process chains. .

then the page ‘How to stop chain with interrupt process?’ explains the method to stop properly the chain execution. The content of the table RSPCINTERRUPTLOG is: If the chain is waiting for an event and the event will not raise. The event is not raised at yet. then the page ‘How to purge the event history?’ explains the event cancellation. The chain started and waits for the event. The content of the table RSPCINTERRUPTLOG is: The field REPORTED is the creation UTC date&time of the event. the chain will not wait. .Summary (analyze helper) The event has already been raised . If the event has been raised unexpectedly or must be deleted. As a consequence. It is possible to know the event by displaying the chain and the interrupt process (see VARIANTE).

processchain XTR_TD_OD_EVENT_TESTCPS starts when event XTR_EVENT_TESTCPS_START is raised. Next run of start variant is identify by JOBCOUNT : 13443200 Find more details about run into TBTCO table: .Waiting job Table BTCEVTJOB owns all jobs which are waiting an event. For exemple.

a jobcount is saved into BTCEVTJOB for each occurence. . XQM_E134 is waiting by several processchains.Waiting job If an event is used for several interrupt. For example.

 Job BI_PROCESS_INTERRUPT: aims to execute the process chain step by executing the method ‘execute’ of the class CL_RSPC_INTERRUPT.htm .Annex  The sap note 1723513 solves the problem of malfunction with interrupt process.  Job BI_INTERRUPT_WAIT: planned to start on the interrupt event and aims to terminate the interrupt step with the program 6/frameset.  SAP documentation: http://help.