Diese Funktionalität ist nicht auf allen Plattformen unterstützt.
EXEC TAA COMPLETEREF <stabobj> END-EXEC
Diese Anweisung liest den Inhalt einer Schlüsseltabelle und stellt ihn indem dafür definierten lokalen Objekt zur Verfügung.
Sie können entweder die gesamte Tabelle oder bestimmte Sätze daraus beschaffen: bullet Um die gesamte Tabelle bereitzustellen, übergbeben Sie in der Anweisung COMPLETEREF ein leeres Listenobjekt (z.B. indem zuvor ein RESETCONTENTS erfolgt). bullet Um einen oder mehrere bestimmte Sätze aus der Tabelle zu beschaffenn, stellten Sie pro gewünschtem Schlüssel ein Element in das übergebene Listenobjekt ein und belegen Sie darin die Schlüsselfelder mit den gewünschten Werten. COMPLETEREF sucht dann in der Schlüsseltabelle nach Sätzen, deren Schlüssel mit den Schlüsseln der übergebenen Sätze übereinstimmen, und liefert nur die gefundenen Sätze zurück.
<stabobj> muss als lokales Objekt der Klasse „REF“ definiert sein.
Bei der Declare-Anweisung ist es i.d.R. notwendig, die Anwendung, aus der das Objekt stammt, mit anzugeben; diese Angabe wird der Typangabe vorangestellt, z.B. für ein lokales Objekt SXYZ zu der Schlüsseltabelle XYZ aus der Anwendung APP1:
EXEC TAA DECLARE SXYZ TYPE APP1/XYZ CLASS REF END-EXEC
Als Objekttyp ist bei Schlüsseltabellenobjekten der Namen der Schlüsseltabelle anzugeben.
Wie auch bei anderen Datenobjekten, erzeugt der Preprozessor eine Datenstruktur, deren Felder mit dem Objektnamen prefixiert sind.
Ob die Anweisung COMPLETEREF erfolgreich ausgeführt wurde, können Sie über die Bedingungsnamen OM-RC-OK und OM-RC-NOT-OK abfragen.
Nachfolgend kann auf die Sätze des Objekts mit den üblichen GET-Anweisungen zugegriffen werden.
Schreibender Zugriff, also PUT oder DELETE, ist nicht zulässig.
WORKING-STORAGE SECTION. exec taa declare myref type APPL1/t01 class ref end-exec. exec taa declare myl70 type APPL2/L70 class ref end-exec. LINKAGE SECTION. 000042 PROCEDURE DIVISION. 000043 MAIN SECTION. EXEC TAA REGISTER END-EXEC. ..... ..... ganz-lesen section. exec taa resetcontents myref end-exec exec taa completeref myref end-exec if om-rc-ok then exec taa get first myref end-exec perform until om-rc-eol perform stab-auswerten exec taa get next myref end-exec end-perform else perform stab-lesefehler end-if exit. schluessel-lesen section. exec taa resetcontents myl70 end-exec . initialize myl70-rec move "1998-01-01" to myl70-ANP-TRM-D0 move "DEM" to myl70-BE-EH-K exec taa add myl70 end-exec . move "1999-01-01" to myl70-ANP-TRM-D0 move "DEM" to myl70-BE-EH-K exec taa add myl70 end-exec . exec taa completeref myl70 end-exec if om-rc-ok then exec taa get first myl70 end-exec perform until om-rc-eol perform stab-auswerten exec taa get next myl70 end-exec end-perform else perform stab-lesefehler end-if exit.