CICS - Steuerungsvorgänge
Das CICS Program Control Program (PCP) verwaltet den Ablauf von Anwendungsprogrammen. Alle Anwendungsprogramme müssen einen Eintrag in der Verarbeitungsprogrammtabelle haben. Im Folgenden sind die Befehle aufgeführt, die für Programmsteuerungsdienste verwendet werden:
- XCTL
- Link
- Load
- Release
- Return
Programm Logische Ebenen
Die Anwendungsprogramme, die unter CICS ausgeführt werden, haben verschiedene logische Ebenen. Das erste Programm, das die Steuerung direkt empfängt, befindet sich auf der höchsten logischen Ebene, dh auf Ebene 1. Das verknüpfte Programm befindet sich auf der nächsten logischen Ebene des Verknüpfungsprogramms. Die XCTL-Programme werden auf derselben Ebene ausgeführt. Es wird klar sein, wann wir später in diesem Modul Link und XCTL durchgehen werden. Das folgende Bild zeigt die logischen Ebenen -
XCTL
Die grundlegende Erklärung von XCTL lautet wie folgt:
Mit dem XCTL-Befehl wird die Steuerung auf derselben Ebene von einem Programm an ein anderes übergeben.
Es erwartet nicht die Kontrolle zurück.
Es ähnelt der GO TO-Anweisung.
Ein XCTL-Programm kann eine Pseudokonversation sein.
Beispiel
Das folgende Beispiel zeigt, wie Sie mit dem Befehl XCTL das Steuerelement an ein anderes Programm übergeben.
IDENTIFICATION DIVISION.
PROGRAM-ID. PROG1.
WORKING-STORAGE SECTION.
01 WS-COMMAREA PIC X(100).
PROCEDURE DIVISION.
EXEC CICS XCTL
PROGRAM ('PROG2')
COMMAREA (WS-COMMAREA)
LENGTH (100)
END-EXEC.
Dieser Befehl überträgt die zu übergebende Steuerung mit 100 Datenbytes an das Programm 'PROG2'. COMMAREA ist ein optionaler Parameter und der Name des Bereichs, der die zu übergebenden Daten enthält, oder der Bereich, an den die Ergebnisse zurückgegeben werden sollen.
Verknüpfung
Der Link-Befehl wird verwendet, um die Steuerung auf ein anderes Programm auf einer niedrigeren Ebene zu übertragen. Es erwartet die Kontrolle zurück. Ein verknüpftes Programm kann nicht pseudokonversativ sein.
Beispiel
Das folgende Beispiel zeigt, wie Sie mit dem Befehl Link das Steuerelement an ein anderes Programm übergeben.
IDENTIFICATION DIVISION.
PROGRAM-ID. PROG1.
WORKING-STORAGE SECTION.
01 WS-COMMAREA PIC X(100).
PROCEDURE DIVISION.
EXEC CICS LINK
PROGRAM ('PROG2')
COMMAREA (WS-COMMAREA)
LENGTH (100)
END-EXEC.
Belastung
Der Befehl Laden wird zum Laden eines Programms oder einer Tabelle verwendet. Es folgt die Syntax des Befehls Laden -
EXEC CICS LOAD
PROGRAM ('name')
END-EXEC.
Freisetzung
Der Befehl Release wird verwendet, um ein Programm oder eine Tabelle freizugeben. Es folgt die Syntax des Release-Befehls -
EXEC CICS RELEASE
PROGRAM ('name')
END-EXEC.
Rückkehr
Der Befehl return wird verwendet, um das Steuerelement auf die nächsthöhere logische Ebene zurückzusetzen. Es folgt die Syntax des Befehls Return -
EXEC CICS RETURN
PROGRAM ('name')
COMMAREA (data-value)
LENGTH (data-value)
END-EXEC.
Intervallsteuerungsvorgänge
Es gibt folgende zwei Arten von Intervallsteuerungsoperationen:
ASKTIME
ASKTIME wird verwendet, um die aktuelle Uhrzeit und das Datum oder den Zeitstempel anzufordern. Wir verschieben diesen Wert dann in die funktionierende Speichervariable innerhalb des Programms. Es folgt die Syntax des ASKTIME-Befehls -
EXEC CICS ASKTIME
[ABSTIME(WS-TIMESTAMP)]
END-EXEC.
FORMATTIME
FORMATTIME formatiert den Zeitstempel basierend auf den Optionen, die für das Datum JJJTT, JJMMTT oder JJTTMM sein können, in das erforderliche Format. DATESEP gibt das Trennzeichen für DATE an, ebenso wie die Variable TIMESEP für TIME. Es folgt die Syntax des Befehls FORMATTIME -
EXEC CICS FORMATTIME
ABSTIME(WS-TIMESTAMP)
[YYDDD(WS-DATE)]
[YYMMDD(WS-DATE)]
[YYDDMM(WS-DATE)]
[DATESEP(WS-DATE-SEP)]
[TIME(WS-TIME)]
[TIMESEP(WS-TIME-SEP)]
END-EXEC.