EXEC CICS Befehlsformat und Überlegungen zur Programmierung

EXEC CICS Befehle werden in Anwendungen verwendet, die in Assembler, C, COBOL oder PL/I geschrieben sind. Das allgemeine Format eines EXEC CICS-Befehls ist EXECUTE CICS (oder EXEC CICS), gefolgt von dem Namen des gewünschten Befehls und möglicherweise von einer oder mehreren Optionen.

Für die entsprechenden Befehle in Java-Anwendungen siehe JCICS-API-Zuordnung zu EXEC CICS API.

EXEC CICS Befehlsformat

Das Befehlsformat sieht wie folgt aus:
EXEC CICS command option(arg)....
Hierbei gilt Folgendes:
  • Befehl beschreibt die gewünschte Operation (z. B. READ).
  • Option beschreibt eine der vielen optionalen Einrichtungen, die für jede Funktion verfügbar sind. Einige Optionen haben ein nachfolgendes Argument in Klammern. Sie können Optionen (einschließlich Optionen mit erforderlichen Argumenten) in beliebiger Reihenfolge angeben.
  • arg (kurz für Argument) ist ein Wert wie Datenwert oder Name. Ein Datenwert kann eine Konstante sein; das bedeutet, dass ein Argument, das Daten an CICS® sendet, im Allgemeinen ein Datenwert ist. Ein Argument, das Daten von CICS erhält, muss ein Datenbereich sein.

    Einige als Datenbereich bezeichnete Argumente können sowohl Daten senden als auch empfangen. In diesen Fällen müssen Sie sicherstellen, dass sich der Datenbereich nicht im geschützten Speicher befindet.

Beispiel für einen EXEC CICS-Befehl
EXEC CICS READ
          FILE('FILEA')
          INTO(FILEA)
          RIDFLD(KEYNUM)
          UPDATE
Je nach Programmiersprache müssen Sie am Ende jedes EXEC CICS-Befehls das entsprechende Begrenzungszeichen für das Befehlsende hinzufügen.
Tabelle 1. Begrenzungszeichen für das Ende eines Befehls nach Sprache
Sprache end-of-command delimiter
C/C++ Semikolon (;)
COBOL END-EXEC-Anweisung
PL/I Semikolon (;)
Einschränkung: In der Sprache C kann ein Null-Zeichen als Markierung für das Ende einer Zeichenkette verwendet werden, aber CICS erkennt dies nicht; Sie dürfen daher niemals ein Komma oder einen Punkt gefolgt von einem Leerzeichen (X'40') in der Mitte einer Kodierzeile haben.

Kommentare zum Benutzercode

Wenn Sie Kommentare zu EXEC CICS-Befehlen hinzufügen möchten, können Sie dies nur in Assembler tun, indem Sie einen Punkt oder ein Komma als Trennzeichen nach dem letzten Argument verwenden.

Beispiel
EXEC CICS ADDRESS EIB(MYUEIB),        @F1A

Wenn ein Punkt oder ein Komma mit einem EXEC CICS-Befehl verwendet wird, muss die folgende Zeile zwischen Spalte 2 und Spalte 16 beginnen, wobei das Fortsetzungszeichen in Spalte 72 steht. Die folgende Zeile darf nicht nach Spalte 17 beginnen. Wenn kein Komma oder Punkt hinzugefügt wird, muss die folgende Zeile in oder nach Spalte 2 beginnen und in Spalte 71 enden, wobei das Fortsetzungszeichen in Spalte 72 angegeben wird.

Gemeinsame Optionen für alle EXEC CICS Befehle

NOHANDLE, RESP und RESP2 sind allgemeine Optionen, die zu allen EXEC CICS Befehlen hinzugefügt werden können, um Fehlerbedingungen zu verarbeiten.

Sie können die Option RESP mit jedem Befehl verwenden, um zu testen, ob eine Bedingung während seiner Ausführung ausgelöst wurde. Bei einigen Befehlen, bei denen eine Bedingung aus mehr als einem Grund ausgelöst werden kann, können Sie, wenn Sie bereits RESP angegeben haben, die Option RESP2 verwenden, um genau zu bestimmen, warum eine Bedingung aufgetreten ist. Die Verwendung von RESP impliziert NOHANDLE. Weitere Informationen zu den Werten von RESP finden Sie unter EXEC-Schnittstellenblockfelder.

Sie können die Option NOHANDLE mit jedem Befehl verwenden, um anzugeben, dass für eine Bedingung oder eine Aufmerksamkeitskennung (AID), die sich aus der Ausführung dieses Befehls ergibt, keine Aktion durchgeführt werden soll. Die Verwendung der Sprache C oder C++ impliziert NOHANDLE für alle Befehle.

Wie Sie Ausnahmebedingungen mit der Option NOHANDLE oder RESP auf EXEC CICS-Befehlen behandeln können, erfahren Sie unter Behandlung von Ausnahmebedingungen durch Inline-Code.

NOHANDLE
Ergreifen Sie keine Maßnahmen für eine Bedingung oder AID, die sich aus der Ausführung eines Befehls ergibt. Diese Option schaltet die CICS Standard-Ausnahmebehandlung bei einem bestimmten EXEC CICS Befehlsaufruf aus.
Beispiel
Das folgende Beispiel zeigt einen EXEC CICS Befehl, der die Option NOHANDLE verwendet. Der Befehl gibt bei Erfolg die Adresse des CWA in R3 zurück.
EXEC CICS ADDRESS CWA(R3) NOHANDLE
RESP (xxx )
Diese Option schaltet auch die CICS Standard-Ausnahmebehandlung auf die gleiche Weise aus wie die NOHANDLE-Option, aktualisiert aber einen benutzerdefinierten Vollwort-Binärdatenbereich (xxx). Bei der Rückkehr des Befehls enthält er einen Wert, der der Bedingung entspricht, die ausgelöst werden könnte, oder einer normalen Rückkehr, d. h. xxx=DFHRESP(NORMAL). Sie können diesen Wert mit Hilfe von DFHRESP testen. Einzelheiten finden Sie unter Behandlung von Ausnahmebedingungen durch Inline-Code.

Da die Verwendung von RESP NOHANDLE impliziert, ist Vorsicht geboten, wenn Sie RESP mit dem Befehl RECEIVE verwenden. NOHANDLE setzt sowohl den Befehl HANDLE AID als auch den Befehl HANDLE CONDITION außer Kraft, mit dem Ergebnis, dass PF-Tastenantworten ignoriert werden.

RESP2(yyyy)
yyy ist ein benutzerdefinierter Datenbereich für eine Vollwort-Binärzahl. Bei der Rückgabe durch den Befehl enthält er einen Wert, der die Antwort auf bestimmte Befehle genauer qualifiziert. Anders als RESP-Werte besitzen RESP2-Werte keine zugeordneten symbolischen Namen und es gibt daher keine integrierte Funktion des Umsetzers, die DFHRESP entspricht, weshalb Sie den Vollwort-Binärwert selbst testen müssen.
Beispiel
Das folgende Beispiel zeigt einen Aufruf von EXEC CICS in COBOL, bei dem die Optionen RESP und RESP2 optionen verwendet.
EXEC CICS WRITEQ TS FROM(abc)
                    QUEUE(qname)
                    NOSUSPEND
                    RESP(xxx)
                    RESP2(yyy)
                    END-EXEC.

Die Optionen NOHANDLE, RESP und RESP2 sind nicht explizit in den einzelnen Befehlssyntaxdiagrammen und Optionsbeschreibungen enthalten.

EXEC CICS Befehlseinschränkungen

Einige allgemeine Einschränkungen gelten für alle EXEC CICS Befehle, die auf Benutzerdaten zugreifen.

  • Das Programm muss sich im primären Adressierungsmodus befinden, wenn ein CICS -Service aufgerufen wird. Der Primäradressraum muss der Speicherbereich für die Ausgangsadresse sein. Alle an CICS übergebenen Parameter müssen sich im primären Adressraum befinden.
  • Wenn Ihr Programm Zugriffsregister verwendet, behält CICS nur die Zugriffsregister 2 bis 13 bei, da CICS -Code die Zugriffsregister 0, 1, 14 und 15 für z/OS® -Makroaufrufe verwenden kann.

EXEC CICS Notation der Befehlssyntax

In der CICS-Dokumentation werden die EXEC CICS-Befehle in einer Standardform dargestellt. Zur Interpretation der Syntax folgen Sie den Pfeilen von links nach rechts. Eine Erklärung der in der Dokumentation verwendeten Syntaxkonventionen finden Sie unter Konventionen und Terminologie in der CICS Dokumentation.

Das EXEC CICS, das immer vor dem Schlüsselwort eines Befehls steht, ist nicht enthalten, ebenso wenig wie ein Begrenzungszeichen für das Befehlsende.