Habe leider grade kein Zugriff auf den Code.
Ich denke aber ich habe einen Fehler in der Logik, da ich noch nicht genau weiss wie sich das alles verhält.

Das Programm macht folgendes:
#####
SFL: MZEILE
SFLCTL: MKSATZ

Ich lese die physische in einer Schleife bis kein Satz mehr gefunden wird.
Schleifenbeginn
In jedem Lauf der Schleife wird die RRN +1 gesetzt, die Werte initialisiert und am Ende geschieht ein write MZEILE
Schleifenende

Dann:
write Kopf vom dspf
write Fuß vom dspf
EXFMT MKSATZ

Nächste Schleife
READC MZEILE (bis keine Sätze mehr oder die Eingabe geschah)
Wenn Auswahl L --> Chain auf Physische und löschen.
Schleifen ende
######
Bis hier funktioniert das. Mein Problem ist jetzt gebe ich L ein und drücke Enter bleibt das Bild so wie es ist; Sprich der gelöschte Satz wird weiter angezeigt. Auch mit dem L in der Auswahl.
Somit habe ich das Programm weiter geschrieben: Folgender Lösungsansatz:
#####
Wenn L seton 53 (SFLCLR)
clear MKSATZ
clear Fuß
clear Kopf
setoff 53

RRN = 0

Geh zu Schleife 1

Und dann kommt eben beim Schreiben in die MZEILE der Fehler doppelter Satz. Als wie die Sätze wurden nicht gelöscht.

Die Frage ist stimmt überhaupt die Logik des Ansatz.

SORRY für das Chaos, war jetzt aus dem Kopf geschrieben

Grüße