Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Datenstrukturen für COBOL-Teilprogramme

Um die Datenbereiche zu strukturieren, werden mit openUTM folgende COPY-Elemente ausgeliefert, die vordefinierte Datenstrukturen enthalten.

Auf BS2000-Systemen sind die Datenstrukturen in der Bibliothek SYSLIB.UTM.070.COB enthalten.

Auf Unix-, Linux- und Windows-Systemen sind die Datenstrukturen im Verzeichnis copy-cobol85 bzw. netcobol im UTM-Verzeichnis utmpfad enthalten.

Name

Inhalt und Bedeutung

KCAPROC

optionaler zweiter Parameterbereich für den APRO-Aufruf:
Dieser Bereich dient zur Auswahl spezieller OSI TP-Funktionskombinationen und des Security-Typs.

KCATC

KDCS-Attributfunktionen (nur auf BS2000-Systemen):
Bei Verwendung von +Formaten können Sie mit den symbolischen Namen für Attributfunktionen die Attributfelder der Formate verändern.

KCCFC

Nur auf BS2000-Systemen:
Definiert den zweiten Parameter, den openUTM beim Event-Exit INPUT übergibt. In diesem Parameter übergibt openUTM die Inhalte der Steuerfelder von Bildschirmformaten an das Teilprogramm. Dieser zweite Parameter wird deshalb auch Steuerfeldbereich (Control Fields) genannt.

KCDADC

Datenstruktur für den DADM-Aufruf:
Diese Datenstruktur sollten Sie beim KDCS-Aufruf DADM RQ über den Nachrichtenbereich legen.

KCDFC

KDCS-Bildschirmfunktionen:
Mit diesen symbolischen Namen können Sie die Bildschirmausgabe beeinflussen, indem Sie den Namen der gewünschten Funktion ins Feld KCDF des KDCS-Parameterbereiches bringen.

KCINFC

Datenstruktur für den INFO-Aufruf:
Diese Datenstruktur sollten Sie beim KDCS-Aufruf INFO DT/SI/PC über den Nachrichtenbereich legen.

KCINIC

definiert den zweiten Parameterbereich für den INIT-Aufruf (nur notwendig bei INIT PU) und optional für den PGWT-Aufruf (nur bei KCLI > 0).
In diesen Parameterbereich liefert openUTM die angeforderten Informationen zurück.

KCINPC

Datenstruktur für den INPUT-Exit:
Diese Datenstruktur enthält die Eingabe- und Ausgabeparameter des INPUT-Exits.

KCKBC

Datenstruktur für den KDCS-Kommunikationsbereich; dieser enthält:

  • aktuelle Daten des Vorgangs und Programms,

  • Rückgaben nach einem Aufruf an openUTM und

  • falls gewünscht den KB-Programmbereich zur Datenübergabe zwischen Programmen in einem Vorgang. Die Felder des KB-Programmbereichs müssen Sie zusätzlich definieren. 

KCMSGC

Datenstruktur für die UTM-Meldungen:
Diese Datenstruktur benötigen Sie, wenn Sie Meldungen in einer MSGTAC-Routine behandeln oder wenn Sie die SYSLOG-Datei mit einem eigenen Programm auswerten wollen.

KCOPC

KDCS-Operationscodes:
Diese Datenstruktur enthält symbolische Namen für die KDCS-Operationen. Für Ihre KDCS-Aufrufe tragen Sie einen Namen in das Feld KCOP des KDCS-Parameterbereiches ein. Beachten Sie, dass der symbolische Name für den SIGN-Aufruf SGN lautet.

KCPAC

Datenstruktur für den KDCS-Parameterbereich:
Dieser Bereich nimmt die Parameter eines KDCS-Aufrufs auf.

KCPADC

Datenstruktur für den PADM-Aufruf:
Diese Datenstruktur sollten Sie beim KDCS-Aufruf PADM AI/PI über den Nachrichtenbereich legen.

KCSGSTC

Datenstruktur für den SIGN-Aufruf:
Diese Datenstruktur sollten Sie beim KDCS-Aufruf SIGN ST mit KCLA > 0 über den Nachrichtenbereich legen.


Die Datenstrukturen KCOPC, KCATC, KCDFC definieren Konstanten. Deshalb kopieren Sie diese Bereiche in die WORKING-STORAGE SECTION.
Die übrigen Datenstrukturen kopieren Sie in die LINKAGE SECTION.

Die Datenstrukturen werden wie im Beispiel unten gezeigt in das Teilprogramm kopiert.

Beispiel
 DATA DIVISION.
*****************************************************************
 WORKING-STORAGE SECTION.
     COPY KCOPC.
     COPY KCATC.  *** (nur auf BS2000-Systemen)
     COPY KCDFC.
******************************************************************
 LINKAGE SECTION.
     COPY KCKBC.
          05   KBPRG         PIC X(80).
     COPY KCPAC.
     COPY KCINFC.
          05   FILLER        PIC X(50).
     03   NB REDEFINES KCINFC.
*****************************************************************
 PROCEDURE DIVISION USING KCKBC, KCSPAB.
    .
    .

Befehlsteil eines COBOL-Teilprogramms

Den Befehlsteil eines COBOL-Teilprogramms können Sie frei gestalten. Nur wenige Regeln der Transaktionsverarbeitung, wie sie in Kapitel „Aufbau und Einsatz von UTM-Programmen" ausführlich beschrieben sind, müssen Sie beachten:

  • Die Teilprogramm sind Unterprogramm von der UTM Main Routine KDCROOT.

  • Die Teilprogramme müssen reentrant-fähig sein.

  • Dialog-Teilprogramme müssen den strengen Dialog einhalten.

Für Event-Exits gelten besondere Regeln, die in Kapitel "KDCS-Aufrufe in COBOL-Teilprogrammen" beschrieben werden.

Adressenübergabe

Die PROCEDURE DIVISION eines COBOL-Teilprogramms beginnt mit folgender Anweisung:

PROCEDURE DIVISION USING kckbc[, spab[, param1[, ... paramn]]]

kckbc

ist der Name des KDCS-Kommunikationsbereichs, der mit Stufennummer 01 in der LINKAGE SECTION definiert sein muss. Bei Verwendung des COPY-Elements KCKBC lautet er KCKBC.

spab

ist der Name des Standard Primären Arbeitsbereichs, der mit Stufennummer 01 in der LINKAGE SECTION definiert wurde. Bei Verwendung des COPY-Elements KCPAC lautet er KCSPAB. Wurde statt des SPAB ein Bereich der WORKING-STORAGE SECTION verwendet, so entfällt die Angabe.

param1...

paramn    

sind die Namen weiterer Objekte, die in der LINKAGE SECTION definiert wurden, siehe auch Überschrift "Erweiterung der LINKAGE SECTION"in Abschnitt "COBOL-Teilprogramm als Unterprogramm". Diese Objekte können AREA-Bereiche sein, die als Erweiterung des SPAB dienen. Werden diese Objekte nicht verwendet, so entfällt die Angabe.