EXEC TAA REGISTER [COLLECT CONDITIONS] END-EXEC. EXEC TAA REGISTER RAISE CONDITION ON EXIT END-EXEC.
REGISTER wird in der Regel die erste Anweisung in der PROCEDURE DIVISION sein. Erst nach dem REGISTER stehen die Inhalt der Datenobjekte und sonstige TAA-Leistungen zur Verfügung.
Die REGISTER-Anweisung muss in einer Zeile stehen.
Durch das Registrieren wird der Baustein bei der TAA-Infrastruktur angemeldet: Bei Ausführung des Programms wird die Infrastruktur darüber informiert, dass dieser Service jetzt startet und von diesem Service weitere Anforderungen an die Infrastruktur ausgehen können.
Innerhalb des EXEC TAA REGISTER wird auch dafür gesorgt, dass die von dem Modul benutzten TAA-Objekte entsprechend ihrer Rolle zur Verfügung stehen; dafür werden bestimmte Objektoperationen automatisch erzeugt:
Objektart | Klasse | Rolle | automatisch durchgeführte Operation |
---|---|---|---|
Parm, Global | alle | CRE | NEW |
Parm, Global | REC | REF MOD | GET |
Parm, Global | LST, REF | REF MOD | GET FIRST (abhängig vom Registry-Setting AutoGetFirst) |
Lokal | alle | - | DECLARE |
Beim Registrieren wird auch festgelegt, wie der Baustein mit Laufzeitzuständen (engl.: „Conditions“) verfahren soll, die noch nicht aufgeworfen oder gelöscht wurden, wenn der UNREGISTER erreicht ist.
„COLLECT CONDITIONS“ wird angenommen, wenn Sie keine Angabe machen (Default). Es bedeutet, dass die Laufzeitzustände unbearbeitet in der Liste bleiben, es sei denn, das aufrufende Modul, zu dem die Kontrolle zurückgeht, enthält Anweisungen, um von sich aus in der Liste nachzusehen und ggf. aufgetretene Laufzeitzustände aufzuwerfen.
„RAISE CONDITION ON EXIT“ bestimmt, dass beim UNREGISTER automatisch ein RAISE auf den zuletzt gesetzten Laufzeitzustand erfolgen soll. Das Verhalten ist dann so, als wenn ein ausdrücklicher RAISE erfolgt wäre, mit dem Ergebnis TC-CND-ACTION-CALLERHDL: Die Infrastruktur sorgt dafür, dass der Laufzeitzustand bei Rückkehr in das aufrufende Modul erneut aufgeworfen wird. Auf diese Weise erfährt der Aufrufer sofort, dass in dem aktuellen Modul ein Laufzeitzustand aufgetreten ist.
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.