TurboPL Referenz

EditOn

Top  Previous  Next

Syntax

EditOn(Tabelle: Integer): Integer

Kategorie

Datenbank-Befehl

Erklärung

Versucht eine Satzsperre auf den aktuellen Datensatz der Tabelle einzurichten. Gelingt dies, so liefert die Funktion den Wert 1, andernfalls 0. Falls die Satzsperre eingerichtet werden konnte, muss anschließend die Funktion EditOff aufgerufen werden. Damit dies auch bei einem Fehler der Fall ist, muss der Code nach einem EditOn immer mit einem  try - except - finally Block gesichert sein.

Beispiel

procedure Mutation
       vardef xBreak: Integer
       xBreak := GetPara("NB"); SetPara("NB 0"); .. Kein Abbruch mit ESC möglich
       ShowWait("Satz wir gebucht" + CHR(13) + CHR(10) + "Bitte warten...")
       repeat
               if EditOn(BUCHUNG)
                       try
                               SetPara("NB 1") .. Abbruch ausschließen
                               BUCHUNG.gebucht := JA
                               WriteRec(BUCHUNG, RecNo(BUCHUNG))

                       except

                               Message('Die Buchung konnte nicht korrekt abgeschlossen werden.');
                       finally
                               EditOff(BUCHUNG)
                       end;
                       SetPara("NB " + Str(xBreak)) ..Abbruch wie vorher
                       HideWait
                       return
               else
                       .. In Sperrungsschleifen immer warten, sonst eventuell Blockade!
                       Pause(10)
               end
       until 0
endproc