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.