Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

ISREQ - Sperre aufheben

Makrotyp:

R bei PARMOD=24
0 bei PARMOD=31

Der ISREQ-Makroaufruf wird bei Shared-Update-Verarbeitung genutzt, um eine Sperre aufzuheben, die explizit bei einer Leseoperation angefordert wurde und die nicht (implizit) durch Zurückschreiben des Satzes (oder einen anderen ISAM-Aktionsmakroaufruf) aufgehoben wird.

Sperren werden implizit aufgehoben durch den nächsten ISAM-Aktionsmakroaufruf, es sei denn es folgt ein OSTAT-Makroaufruf oder eine Leseoperation für eine andere Datei mit der Angabe NOLOCK.

Die Sperre kann sein

  • eine Satzsperre (bei NK-ISAM, nichtsequenzielle Verarbeitung)

  • eine Bereichssperre (bei NK-ISAM, sequenzielle Verarbeitung)

  • eine Datenblocksperre (bei K-ISAM)

Format

Operation

Operanden

ISREQ

fcbadr / (1)

,ACTION = UNLOCK

[,PARMOD = 24 / 31]

fcbadr

Adresse des FCB der Datei, in der die Sperre besteht

(r)
Die FCB-Adresse steht im Register „r“.

ACTION = UNLOCK

Hebt eine externe Sperre auf.
Nach Ausführung von „ISREQ ...,UNLOCK“ kehrt ISAM zu der Anweisung zurück, die dem ISREQ-Makroaufruf folgt.

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 ISREQ-Makroaufruf zerstört die Register 0, 1, 14 und 15.

Returncode

Das FCB-Feld „ID1ECB“ enthält einen Returncode. Je nach Fehlerschlüssel ist auch das Register 1 davon betroffen:

ID1ECB      

R1

Bedeutung

X' 0000'

unverändert

Sperre aufgehoben

X' 0A01'

verändert

für die Datei, deren FCB-Adresse in Register 1 hinterlegt ist, besteht eine Sperre für den Auftrag *)

X' 0A02'

unverändert

keine Sperre vorhanden

X' 0AA3'

unverändert

FCB ungültig

*) Der Benutzer kann die Sperre aufheben, indem er den ISREQ-Makro mit unverändertem Register 1 als erstem Operanden aufruft.