Baustein identifizieren: IDENTIFY

EXEC TAA

  IDENTIFY [<bausteintyp> SERVICE ] <name> IN <anwendung>

END-EXEC 

In der IDENTIFICATION DIVISION muss der Baustein zunächst „vorgestellt“ werden, damit die Infrastruktur weiß, welche Operationen, Zustände und Parameterobjekte dieser Baustein kennt.

Die Angabe des Bausteintyps und der Anwendung sind optional. Die kürzeste mögliche Schreibweise ist somit:

  EXEC TAA IDENTIFY BEITRAGSBERECHNUNG END-EXEC.

Da das System aber fehlende Angaben selbst auffinden muss, führen derartige Einsparungen u.U. zu längeren Kompilierungszeiten.

Aus diesen Angaben wird u.a. die PROGRAM-ID ermittelt. Sie darf deshalb nicht vom Programmierer angegeben werden.

In manchen Programmen soll die PROGRAM-ID mit dem Zusatz „IS INITIAL“ generiert werden. Dies ist mit folgender Syntax möglich1):

IDENTIFICATION DIVISION.

           EXEC TAA OPTION INITIAL END-EXEC

           EXEC TAA IDENTIFY ...

           END-EXEC 

Die Zeile „ECEC TAA OPTION INITIAL END-EXEC:“ 2) muss vor dem EXEC TAA IDENTIFY Statement stehen (kann auch vor IDENTIFICATION DIVISION sein). Diese Syntaxerweiterung sollte nur benutzt werden, wo sie unbedingt notwendig ist.

Falls der Baustein in Rochade gespeichert ist, muss „<Name>“ sich der Groß-Kleinschreibung von Rochade anpassen. Beim aktuellen Rochade-Server bedeutet dies, dass der Bausteinname immer komplett in Großbuchstaben geschrieben sein muss.

Beispiel

sample.cbl
IDENTIFICATION DIVISION.
    EXEC TAA IDENTIFY EFUN SERVICE AF-DATEN-TBF-VERSORGEN
     IN LEVERT END-EXEC.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
    DECIMAL-POINT IS COMMA.
DATA DIVISION.
WORKING-STORAGE SECTION
* ......
LINKAGE SECTION.
PROCEDURE DIVISION.
MAIN SECTION.
    EXEC TAA REGISTER END-EXEC
    SET TC-STATE-NICHT-OK OF ME TO TRUE
    EVALUATE TRUE
    WHEN TC-EVENT-DURCHFUEHREN
       PERFORM INIT
       PERFORM ANTRAG-VERTRAG
       SET TC-STATE-OK OF ME TO TRUE
    WHEN OTHER
       EXEC TAA SET AND RAISE SEVERE GROUP APPLERR CODE 3
          ARGUMENTS = (TC-EVENT)
       END-EXEC
    END-EVALUATE
    EXEC TAA UNREGISTER END-EXEC.
1)
bis V9.03: „:TAAOPT INITIAL“
2)
bis 9.03: „:TAAOPT = INITIAL“, mit Doppelpunkt in Spalte 7