Ein Chain(n) liest die Daten immer ohne Sperre (bei Update-Dateien, bei Input-Dateien gibts einen Compilerwarning).

Ist der Satz gesperrt bzw. unter Commit-Steuerung geändert erhält man den Inhalt trotzdem (bezeichnet als sog. Schmutzdaten).
Leider kann man sich dann auf die Daten nicht verlassen, sollte die ändernde Applikation einen Rollback veranlassen.
Das liegt halt so am Konzept.

Mittels Chain(e) wird halt %error() beim Lock ausgelöst (nach Satzwartezeit) und es werden keine Daten bereitgestellt.