Zitat Zitat von Fuerchau Beitrag anzeigen
Da "im Normalfall" jedes Programm seine Dateien selber öffnet, kann eben jedes Programm seine eigenen Satzsperren festhalten.
Wenn das Programm dann noch mit *INLR = *OFF verlassen wird bleiben die Sperren bestehen.
Häufiger Fehler bei der Programmierung ist der Mandantenwechsel oder Gruppenwechsel.
Wenn ich mit READE Daten lese, wird EOF gemeldet wenn kein Schlüssel mehr passt.
Mache ich aber einen READ mit anschließender IF-Abfrage um die Verarbeitung zu beenden, bleibt der letzte Satz bei einer U-Datei gesperrt!
In diesem Fall sollte ich dann einen UNLCK kodieren um die Satzsperren aufzueben (CHAIN(N) geht natürlich auch).

SHARE(*YES) ist dann auch keine Lösung, da mir aufgerufene Programme meine Dateizeiger verbiegen können.
... würde man SQL und commit verwenden, wäre das alles viel einfacher...

D*B