Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

COBOL-Schnittstelle

&pagelevel(3)&pagelevel

Die CPI-C-COBOL Programmschnittstelle entspricht weitgehend der in Abschnitt „CPI-C-Aufrufe bei UPIC“ beschriebenen C-Schnittstelle. Aus diesem Grund können Sie diese Beschreibung bei der Erstellung von CPI-C-Programmen in COBOL zu Rate ziehen. In diesem Abschnitt sind die Besonderheiten der COBOL-Schnittstelle bei den Datenstrukturen und den CPI-C-Aufrufen zusammengefasst.

COPY-Element CMCOBOL

Für CPI-C-Anwendungen in COBOL wird das COPY-Element CMCOBOL ausgeliefert, das die Bedingungsvariablen und -namen enthält. CMCOBOL finden Sie nach der Installation des Trägersystems UPIC:

  • auf Windows-Systemen im Dateiverzeichnis upic-dir\copy-cobol bzw. upic-dir\netcobol

  • auf Unix- und Linux-Systemen im Dateiverzeichnis upic-dir/copy-cobol85 bzw. upic-dir/netcobol

  • auf BS2000-Systemen in der Bibliothek die von der folgenden SDF-P Funktion zurückgeliefert wird (diese Funktion kann in der Übersetzungsprozedur benutzt werden, um den Bibliotheksnamen zu bekommen):

    INSTALLATION-PATH(INSTALLATION-UNIT='UTM-CLIENT',LOGICAL-ID='SYSLIB',DEFAULT-PATH-NAME='*UNKNOWN')

CMCOBOL muss mit der COPY-Anweisung in die WORKING-STORAGE-SECTION kopiert werden. Die Namen der Konstanten werden von den C-Namen abgeleitet: der Unterstrich wird durch den Bindestrich ersetzt, z.B. CM-SEND-RECEIVED statt CM_SEND_RECEIVED.

In CMCOBOL wird für die CPI-C-Schnittstelle wegen der CPI-C-Spezifikation der Name TIME-OUT bzw. TIMEOUT verwendet. Da diese Worte bei Micro Focus reserviert sind, muss dieser Name z.B. mit der Anweisung

COPY-Anweisung zur Vermeidung des Schlüsselworts TIMEOUT
COPY CMCOBOL REPLACING TIME-OUT BY CPIC-TIMEOUT

im Source geändert werden.

CPI-C-Aufrufe in COBOL

Die Funktionsnamen von C und COBOL sind identisch. Für die Parameter der CPI-C-Aufrufe gilt folgendes:

  • Die Parameter müssen wie bei COBOL üblich per Adresse ("by reference") übergeben werden.

  • Jede Variable der Parameterliste muss mit der Stufennummer 01 beginnen.

  • Numerische Daten müssen in dem COMP-Format sein, das auf der jeweiligen Maschine das gleiche Binärformat wie bei C erzeugt.

  • Bei COBOL-Aufrufen auf Windows-Systemen sind die für eine dynamische Bibliothek (DLL) vorgegebenen Aufruf-Konventionen zu beachten.


Beispiel Programmausschnitt mit dem Aufruf Initialize:
...
 WORKING-STORAGE-SECTION.
*************************
 COPY CMCOBOL.
...
 PROCEDURE DIVISION.
*************************
...
 CALL "CMINIT" USING CONVERSATION-ID,SYM-DEST-NAME,CM-RETCODE.