Beispiel: Programm im Prozessmodell
Im Folgenden finden Sie Quelltextbeispiele für Programme, die Sie in einem Prozessmodell verwenden können.

Wenn Sie den Workflow-Container verwenden, benötigen Sie zusätzlichen Quelltext. Diese Teile sind in kursiver Schrift angegeben.
Zusätzlich finden Sie einige Beispiele von Programmen, die in der Standardauslieferung des Systems innerhalb von Prozessmodellen verwendet werden.
REPORT MY_STEP_PROGRAM.
INCLUDE <CNTN01>.
[...]
START-OF-SELECTION.
[...]
GET PERNR.
[...]
IF not employee is ok.
CALL FUNCTION 'HRPY_PROCESS_SET_PERNR_STATUS'
EXPORTING
IMP_PERNR = PERNR-PERNR
IMP_PARCEL = PYPARAID
IMP_SET_ERR = 'X'.
REJECT.
ENDIF.
[...]
CALL FUNCTION 'HRPY_PROCESS_SET_PERNR_STATUS'
EXPORTING
IMP_PERNR = PERNR-PERNR
IMP_PARCEL = PYPARAID
IMP_SET_SUC = 'X'.
END-OF-SELECTION.
* Fill container
· Buchung ins Rechnungswesen: Buchungslauf erzeugen
Am Anfang des Programms RPCIPE00 (Buchung ins Rechnungswesen: Buchungslauf erzeugen) steht das Include <CNTN01>. In diesem Include wird das Unterprogramm REJECTION aufgerufen, wenn eine Personalnummer für diesen Prozessschritt nicht relevant ist. Dazu kommt es in den folgenden Fällen:
¡ Die Personalnummer wurde in der Personalabrechnung abgelehnt.
¡ Die Personalnummer wurde bereits ausgewertet.
Das Unterprogramm REJECTION setzt im ersten Fall für die Personalnummer den Status fehlerhaft, im zweiten Fall den Status erfolgreich.
Wenn die Personalnummer den Status erfolgreich hat, teilt das Programm RPCIPE00 dies dem Prozessmanager in der Routine REGISTER_AND_INDEX mit. Die Routine wird unmittelbar vor dem Zeitpunkt END-OF-SELECTION aufgerufen. Am Ende von END-OF-SELECTION übergibt die Routine END_PROCESS_MODEL die Nummer des Buchungslaufs und eventuell den Namen der TemSe-Datei an den Workflow-Container.
· Abrechnungstreiber
In den Abrechnungsprogrammen finden Sie die Include-Anweisung für die Container-Makros im Include RPCFDC19. Im Programm RPCALCX0 (Abrechnungstreiber länderneutral) wird z. B. der Container nur in einem Auswertungslauf nach dem Zeitpunkt END-OF-SELECTION gefüllt. Das Include RPCFDC19 übergibt dabei die Namen von TemSe-Dateien an den Container.
Falls erforderlich, setzt das Unterprogramm NEW_ABLEHNUNG für eine Personalnummer den Status fehlerhaft.
Am Ende des Unterprogramms MAIN setzt die Routine PROCESS_SET_PERNR_STATUS den Status für erfolgreiche Personalnummern.
Da am Ende des Zeitpunkts END-OF-SELECTION der Befehl LEAVE LIST-PROCESSING steht, ruft zuvor das Unterprogramm FIRE_EVENT den Funktionsbaustein HRPY_PROCESS_FIRE_EVENT auf, um die Kontrolle an den Prozessmanager zurückzugeben.
INCLUDE RPUPMDP3.
INCLUDE <CNTN01>.
[...]
START-OF-SELECTION.
CALL FUNCTION 'HRPY_PUST_GET_CONTAINER’
EXPORTING
IMP_PARCEL = PYPARAID
TABLES
CONTAINER = PY_PM_CONTAINER.
[...]
END-OF-SELECTION.
* Fill container
IF NOT PYPARAID IS INITIAL.
CALL FUNCTION 'HRPY_PROCESS_FIRE_EVENT'
EXPORTING
IMP_PARCEL = PYPARAID
TABLES
IMP_CONTAINER = PY_PM_CONTAINER .
ENDIF.

Den in kursiver und fetter Schrift dargestellten Quelltext müssen Sie nur dann verwenden, wenn Sie Daten aus dem Workflow-Container benötigen, die nicht den Selektionsbedingungen des Programms entsprechen. Weitere Informationen finden Sie unter Workflow-Container.
· Personalabrechnungsbeleg anzeigen
Das Programm RPCIPS00 (Personalabrechnungsbeleg anzeigen) enthält das Include RPUPMDP3. Da dieses Programm weder Personalnummern verarbeitet noch den Workflow-Container füllt, benötigt es keine weiteren Funktionsbausteine, Includes oder Makros. Am Ende des Zeitpunkts END-OF-SELECTION gibt das Programm RPCIPS00 die Kontrolle an den Prozessmanager zurück.
· Überleitung FI/CO: Export nach R/2 bzw. R/3 < 4.0
Das Programm RPCIPX00 (Überleitung FI/CO: Export nach R/2 bzw. R/3 < 4.0) liest eine TemSe-Datei ein, verarbeitet sie und schreibt eine neue TemSe-Datei. Daher muss es mit der Routine START_PROCESS den Workflow-Container einlesen und mit der Routine END_PROCESS die neuen Daten im Workflow-Container abstellen. In der Routine END_PROCESS wird auch der Funktionsbaustein HRPY_PROCESS_FIRE_EVENT aufgerufen.