Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

KDCS-Aufrufe in COBOL-Teilprogrammen

Bevor Sie im Programm eine UTM-Funktion aufrufen können, müssen alle notwendigen Parameter im KDCS-Parameterbereich stehen.

Hierzu gehören:

  • der Operationscode des Aufrufs;

  • zusätzliche Parameter, die durch den Operationscode bestimmt sind (siehe Kapitel „KDCS-Aufrufe").

Bei einigen KDCS-Aufrufen müssen nicht verwendete Parameterfelder mit LOW-VALUE versorgt werden. Um Fehler zu vermeiden, sollten Sie immer den Befehl MOVE LOW-VALUE TO KCPAC absetzen, bevor die Parameterfelder versorgt werden.

Format des KDCS-Aufrufs

Wenn alle notwendigen Datenbereiche versorgt sind, kann der KDCS-Aufruf abgesetzt werden. Die Einsprungadresse für alle Operationen lautet "KDCS".

Das Format des CALL-Aufrufs ist Folgendes:

CALL "KDCS" USING parm1[, parm2].

parm1

ist der Datenname des KDCS-Parameterbereiches. Er lautet bei Verwendung des entsprechenden COPY-Elements "KCPAC". Er muss immer angegeben werden.

parm2

ist der Datenname des Speicherbereichs im Programm, in den ggf. Nachrichten oder Daten eingetragen werden sollen bzw. in dem Nachrichten oder Daten bereitgestellt wurden. In dieser Beschreibung heißt der Bereich meistens "NB" (Nachrichtenbereich). Sie können dafür aber beliebige Namen verwenden.

Die Datennamen können bei Bedarf gekennzeichnet werden.

Das Format lautet dann erweitert:

parm1 [{IN|OF} datenname1}...], [parm2 [{IN|OF} datenname2}...]].

Näheres finden Sie in der Beschreibung des COBOL-Compilers.

Beispiel

Eine mehrfach als Unterstruktur vorhandene Datenstruktur soll als Nachrichtenbereich verwendet werden.

.
.
   03 BUCH5.
    05 DATX             PIC X(50).
.
.
   03 BUCH8.
    05 DATX             PIC X(50).
.
.
CALL "KDCS" USING KCPAC, DATX IN BUCH5.

Event-Exits

Die Event-Exits INPUT, START, SHUT und VORGANG dürfen keine KDCS-Aufrufe enthalten. Sie sind als Unterprogramme zu schreiben und müssen mit der Anweisung EXIT PROGRAM beendet werden.

Bei START, SHUT und VORGANG werden die Adressen des Kommunikationsbereichs (KB) und des Standard Primären Arbeitsbereichs (SPAB) in der PROCEDURE DIVISION übergeben; dementsprechend werden die Strukturen dieser Bereiche in der LINKAGE SECTION definiert (wie bei den Teilprogrammen mit KDCS-Aufrufen). In Kapitel "Beispiel für eine komplette UTM-Anwendung auf BS2000-Systemen" finden Sie ein Beispiel für einen kombinierten START/SHUT-Exit.

Beim INPUT-Exit übergibt openUTM die Adresse des INPUT-Parameterbereichs. Für die Struktur des INPUT-Parameterbereichs steht das COPY-Element KCINPC zur Verfügung; der Name der Datenstruktur ist KCINPUTC.

Auf BS2000-Systemen kann zusätzlich die Adresse eines Steuerfeldbereichs übergeben werden. Für den Steuerfeldbereich steht das COPY-Element KCCFC zur Verfügung (Name der Struktur: KCCFILDC).

Weitere Informationen zu den Event-Exits siehe Kapitel „Event-Funktionen".

Beispiel: INPUT-Exit
 DATA DIVISION.
*****************************************************************
 WORKING-STORAGE SECTION.
     .
     .
*****************************************************************
 LINKAGE SECTION.
     COPY KCINPC.
*****************************************************************
 PROCEDURE DIVISION USING KCINPUTC [,KCCFILDC].
    .
    .