Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

TCBENTRY - Gruppe von TCB-Entries definieren (BS2000-Systeme)

Die TBCENTRY-Anweisung ist nur für COB1-Teilprogramme zulässig. COBOL-Teilprogramme, die nicht ILCS-fähig sind, müssen bei openUTM mit PROGRAM ...,COMP=COB1 generiert werden. TCB-Entries sind von Vorteil in Verbindung mit COBOL-DML sowie bei einem GOTO in eine PERFORM-Routine. Näheres hierzu ist dem openUTM-Handbuch „Anwendungen programmieren mit KDCS“ zu entnehmen.

TCB-Entries dienen dazu, verschachtelte COBOL-Programme reentrant-fähig zu machen. In den folgenden Fällen sind TCB-Entries notwendig:

  • In Verbindung mit COBOL-DML:
    Wenn in einer DECLARATIVES-Unterabteilung die Klausel USE-DATABASE-EXEPTION verwendet und der Programmablauf innerhalb dieser Declaratives mit PEND beendet wird. In diesem Fall muss der TCB-Entry I$ITCUPS angegeben werden, weil sonst der Zähler für den Durchlauf der DECLARATIVES nicht zurückgesetzt wird, was zu einer COBOL-Fehleraktion führt. I$ITCUPS setzt daher den Zähler bei einem PEND innerhalb der DECLARATIVES zurück.

  • Bei einem GOTO in eine PERFORM-Routine:
    Wenn ein Teilprogramm in einer PERFORM-Routine beendet wird, merkt sich das COBOL-Laufzeitsystem die Rücksprungadresse. Springt man im nächsten Teilprogramm mit GOTO in die PERFORM-Routine, dann verhält sich das Teilprogramm so, als wäre die PERFORM-Routine noch offen und springt auf die Rücksprungadresse. Durch Angabe eines TCB-Entries (mit beliebigem Namen) werden die Merker zurückgesetzt.

TCB-Entries müssen auch dem COB1-Compiler über einen COBRUN-Parameter bekannt gemacht werden.

Die Anweisung kann mehrmals angegeben werden.

TCBENTRY

tcbentry_groupname
,ENTRY=( entry1,..., entry18 )

tcbentry_groupname


ist ein frei wählbarer, max. 8 Zeichen langer Name, über den die mit dieser TCBENTRY-Anweisung definierte Gruppe von TCB-Entries angesprochen werden kann. Mit diesem Namen kann eine Gruppe von TCB-Entries an eine TAC-Anweisung geknüpft werden.

ENTRY=

TCB-Entry-Name