RETRY
|
Dieses Dokument behandelt folgende Themen:
Verwandte Statements: ACCEPT/REJECT | AT BREAK | AT START OF DATA | AT END OF DATA | BACKOUT TRANSACTION | BEFORE BREAK PROCESSING | DELETE | END TRANSACTION | FIND | GET | GET SAME | GET TRANSACTION DATA | HISTOGRAM | LIMIT | PASSW | PERFORM BREAK PROCESSING | READ | STORE | UPDATE
Gehört zur Funktionsgruppe: Datenbankzugriffe und Datenbankänderungen
Das Statement RETRY
wird in einem ON
ERROR
-Statement-Block (siehe ON
ERROR
-Statement) verwendet. Es dient dazu, erneut zu
versuchen, auf einen Datensatz zuzugreifen, auf den bereits ein anderer
Benutzer zugegriffen hat und der sich daher im Hold-Status befindet.
Befindet sich ein Datensatz im Hold für einen anderen Benutzer, gibt
Natural die Fehlermeldung 3145
aus. Siehe auch Session-Parameter
WH
(Wait for
Record in Hold Status).
Das RETRY
-Statement muss in dem Objekt stehen, das die
Fehlermeldung 3145
verursacht. Weitere Informationen zur
Record-Hold-Logik finden Sie im Abschnitt
Datensatz-Kontrolle
während einer Transaktion (Hold-Logik) im
Leitfaden zur Programmierung.
Dieses Statement kann nur für den Zugriff auf Adabas-Datenbanken verwendet werden.
** Example 'RTYEX1': RETRY ** ** CAUTION: Executing this example will modify the database records! ************************************************************************ DEFINE DATA LOCAL 1 EMPLOY-VIEW VIEW OF EMPLOYEES 2 NAME * 1 #RETRY (A1) INIT <' '> END-DEFINE * FIND EMPLOY-VIEW WITH NAME = 'ALDEN' /* DELETE END TRANSACTION /* ON ERROR IF *ERROR-NR = 3145 INPUT NO ERASE 10/1 'RECORD IS IN HOLD' / 'DO YOU WISH TO RETRY?' / #RETRY '(Y)ES OR (N)O?' IF #RETRY = 'Y' RETRY ELSE STOP END-IF END-IF END-ERROR /* AT END OF DATA WRITE NOTITLE *NUMBER 'RECORDS DELETED' END-ENDDATA END-FIND * END