Show TOC Anfang des Inhaltsbereichs

Objektdokumentation ABAP-Programm  Dokument im Navigationsbaum lokalisieren

Definition

Ein ABAP-Programm ist im Kontext der Prozesskettenpflege ein Prozesstyp.

Verwendung

Wenn Sie ein einfaches, unabhängiges Programm in einer Kette verwenden wollen oder ein Programm, das im Hintergrund durch ein anderes Programm oder einen Benutzer eingeplant wird, so verwenden Sie den Prozesstyp ABAP-Programm. Sie haben dann die Möglichkeit, ein beliebiges Programm (ABAP-Report) mit oder ohne Programmvariante  in eine Prozesskette einzuplanen.

Als Einplanungsoptionen stehen Ihnen zur Verfügung

      Synchron, lokal

Geben Sie unter Zu rufendes Programm ® Programm Programmname und –variante an. Das Programm wird dann gestartet, wenn der Event des Vorgängerprozesses ausgelöst wurde.

Das Programm wird auf demselben Server, auf dem die Prozesskette eingeplant ist, im Hintergrund durchgeführt. Die Prozesskette wartet auf die Beendigung des Programmes, bevor sie mit eventuellen Nachfolgern fortfährt.

      Asynchron

Diese Option wählen Sie, wenn Ihr Programm asynchron ist.

Ein asynchroner Prozess wird auch verteilter Prozess genannt. Verteilte Prozesse sind dadurch charakterisiert, dass verschiedene Workprozesse an einer bestimmten Arbeit beteiligt sind. Ist ein Programm asynchron, so beendet es nicht die von ihm begonnene Arbeit. Wenn ein Prozess asynchron ist, setzt die Prozesskettenverwaltung das Ende des Prozesses nicht mit dem Ende des Hintergrundprozesses gleich. Der Status des Prozesses bleibt aktiv.

Bei asynchronen Prozessen werden die Nachfolge-Events nicht automatisch ausgelöst.
Um das eigentliche Ende Ihres Prozesses mitzuteilen, müssen Sie am Ende Ihres Programmes den remote-fähigen Funktionsbaustein
RSPC_ABAP_FINISH rufen. Der Prozess wird dann als beendet markiert und Folge-Events werden ausgelöst.

Teilen Sie dem Funktionsbaustein die Prozessvariante mit, unter der Ihr Programm eingeplant ist. Zu diesem Zweck müssen Sie im Programm entweder die Prozessvariante hart codieren oder Sie übergeben die Prozessvariante in einer Programmvariante. Dazu sind folgende Zeilen in Ihrem Programm notwendig:

PARAMETERS variant TYPE rspc_variant.

Achtung

Wenn Ihr Programm abbricht, wird dies von der Prozesskettenverwaltung nicht erkannt.

Wenn Sie daher die Kette erneut starten, wird diese ebenfalls abbrechen, da der alte Lauf noch nicht beendet wurde. Um dies zu vermeiden, müssen Sie vor dem nächsten Start den Prozess in der Protokollsicht der Kette im Prozess-Monitor (Registerkarte Prozess) manuell auf abgebrochen setzen.

-         Asynchron, lokal

Diese Option wählen Sie, wenn Ihr Programm selbst asynchron ist (d.h. eine Benutzerentscheidung herbeiführt oder einen asynchronen RFC macht), oder Sie ein im Hintergrund eingeplantes Programm starten möchten. In diesem Fall muss das Programm wartend auf einen Batch-Event eingeplant sein. Geben Sie für diese Option unter Zu rufendes Programm ® eingeplantes Programm den Event und ggf. den Parameter ein.

-         Asynchron, Destination

Bei dieser Option muss das zu rufende Programm auf dem Zielrechner wartend auf einen Event eingeplant sein.

Geben Sie unter Aufrufort die Destination zum Zielsystem an und geben Sie unter Zu rufendes Programm ® eingeplantes Programm den Event und ggf. den Parameter ein.

Hinweis

Diese Option steht für Zielsysteme ab Service API 3.0A zur Verfügung.

Empfehlung

Wir empfehlen Ihnen, ein lokales Programm zu schreiben, in welchem Sie synchron einen remote-fähigen Funktionsbaustein im Zielsystem rufen. Wählen Sie dann die Option Synchron, lokal. Dies ermöglicht Ihnen eine Überwachung Ihres Prozesses durch die Prozesskettenverwaltung.

Indem Sie Erfolgsmeldungen ausgeben, können Sie auf einfache Weise Protokolle schreiben. Diese Protokolle werden in der Protokollsicht der Prozesskettenpflege über das Kontextmenü zu einem Prozess angezeigt. Wählen Sie dazu Meldungen anzeigen ® Registerkarte Batch.

Achtung

Fehlermeldungen brechen den Job ab. Schreiben Sie Ihre Protokolle daher als Erfolgsmeldungen. Darüber hinaus ist es bei diesem Prozesstyp nicht möglich, Fehlermeldungen programmseitig als Status auszuwerten, um so eventuell Folgeprozesse nach Fehler auszulösen. Wenn Sie diese Funktion benötigen, empfehlen wir Ihnen die Implementierung eines eigenen Prozesstyps.

Integration

Wir empfehlen, komplexere Prozesse, die nicht durch die BI-Prozesstypen abgedeckt sind, durch die Implementierung eines eigenen Prozesstyps abzubilden.

Ende des Inhaltsbereichs