Makrotyp: | R bei PARMOD=24 |
Der GETKY-Makroaufruf liest einen Satz, bei dem der Primär- bzw. ein Sekundärschlüssel mit dem im KEYARG-Feld bereitgestellten Wert übereinstimmt. Das KEYARG-Feld wird über den KEYARG- Operanden des FCB-Makroaufrufs adressiert.
Wird kein Satz mit dem angegebenen Schlüsselwert gefunden, wird dem Anwenderprogramm über die NOFIND-Adresse (siehe Makro EXLST, Operand NOFIND, "EXLST - Exit-Adressenliste anlegen") die Steuerung übergeben. Der Zeiger des Primär- bzw. des Sekundärschlüssels wird auf den gesuchten Wert gesetzt.
Enthält die Datei mehrere Sätze mit gleichen Werten für den im GETKY-Makroaufruf angesprochenen Primär- bzw. Sekundärschlüssel, wird der Erste dieser Sätze bereitgestellt bzw. der Satz, auf dessen Primärschlüssel im zugehörigen Sekundärindexblock als Erstes verwiesen wird.
Format
Operation | Operanden |
|
|
Operandenbeschreibung
fcbadr
Adresse des FCB, der zu verarbeitenden Datei.
Wenn die Datei über einen Sekundärschlüssel gelesen werden soll, muss dieser FCB in seiner 31-Bit-Schnittstelle vorliegen.
(1)
Die FCB-Adresse steht im Register 1.
area
Adresse des Feldes, in das der Satz gebracht werden soll; im Locate-Mode wird „area“ ignoriert.
(0)
Die Adresse des Feldes, in das der Satz gebracht werden soll, steht im Register 0.
LOCK
Die Satz- oder Datenblocksperre bleibt nach Ausführung des Makroaufrufs erhalten (explizite Sperre).
NOLOCK
Es wird keine explizite Sperre gesetzt.
AIX
Gibt an, ob der Satz über seinen Primär- oder einen Sekundärschlüssel bereitgestellt werden soll.
= NO
Der Satz wird über seinen Primärschlüssel bereitgestellt (Voreinstellung).
= YES
Kann nur angegeben werden, wenn
die 31-Bit-Schnittstelle des Makros generiert wird (über den Operanden PARMOD=31 oder den Makroaufruf GPARMOD 31) und
der Makro sich auf einen 31-Bit-FCB bezieht.
Der Satz wird über den im Operanden KEYNAME oder KEYNMAD vereinbarten Sekundärschlüssel bereitgestellt.
KEYNAME = name
Gibt den Namen des Sekundärschlüssels an, über den der Satz gelesen werden soll.
name muss der Name eines für die aktuelle Datei vereinbarten Sekundärschlüssels sein.
Die Namen aller für eine Datei definierten Sekundärschlüssel kann mit dem Makro SHOWAIX oder dem Kommando SHOW-INDEX-ATTRIBUTES ermittelt werden.
KEYNMAD = adr
Gibt die symbolische Adresse (den Namen) eines Feldes an, in dem der Anwender den Namen des Sekundärschlüssels hinterlegt hat, über den der Satz gelesen werden soll. Das Feld mit der symbolischen Adresse adr muss zum Zeitpunkt der Makroausführung den Namen eines für die aktuelle Datei vereinbarten Sekundärschlüssels enthalten.
PARMOD
Gibt den Generierungsmodus an.
Voreinstellung: | der durch den Assembler oder den GPARMOD-Makroaufruf im Programm eingestellte Wert |
= 24
Es wird ein Objekt erzeugt, das nur im 16-MB-Adressraum ablauffähig ist
(nur 24-Bit-Adressierung).
= 31
Es wird ein Objekt erzeugt, das im 2-GB-Adressraum ablauffähig ist
(24-Bit- oder 31-Bit-Adressierung).
Hinweis zur Programmierung
Der GETKY-Makroaufruf zerstört die Register 0, 1, 14 und 15.