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.