PDA

View Full Version : Feldinhalt im BlockControllSatz



Steven
24-09-03, 07:28
Hi,

ich schreibe zurzeit ein programm das eine Datei mit einer Eingabe durchsuchen soll. Dazu benutze ich ein Subfile.

Oben ist der BlockControllSatz, bei dem die Eingabe erfolgt. Nach der Bestätigung soll unten das SFL angezeigt werden.

Das sieht so aus:

WRITE BLKCTL01 (BlockControllSatz)
EXMFT SUFFMT01 (Subfileformat)

* Dann kommt eine Prüfung ob zumindest eines der Eingabefelder gefüllt ist. Wenn ja wird das SFL gefüllt und angezeigt.
Doch genau das ist das Problem. Das Programm erkennt meine Eingabe nicht. Im Debugger werden beide Eingabefelder als leer angezeigt.

Kann ich das irgendwie aktualisieren?

henke
24-09-03, 07:56
Es sollte nach dem EXFMT ein
READ BLKCTL01
folgen.

Steven
24-09-03, 08:12
funzt

thx

Fuerchau
24-09-03, 10:17
Der EXFMT muss auf das Format BLKCTL01 erfolgen.
Ein EXFMT auf die Subfile bringt nichts !

Ersetze den WRITE durch EXFMT BLKCTL01, da dadurch die Aktionen für die Subfile gesteuert werden (SFLDSP, SFLDSPCTL usw.).

Die Subfile wird nur durch READ (entspricht einem CHAIN mit Satznummer), WRITE, UPDAT und READC (lesen veränderte Sätze) bearbeitet.

Zum Verständnis: Die Subfile entspricht einer Datenbankdatei ohne Schlüssel mit absoluter Satznummer und Beschränkung auf 9999 Sätze.

Steven
24-09-03, 10:27
Das SUFFMT01 ist vom Typ RECORD mit OVERLAY. Da hab ich die Befehlstastenbeschreibung drin. Die Subfile zeig ich erst an wenn ich sie gefüllt hab.

Fuerchau
24-09-03, 11:26
Dann ändere trotzdem die Reihenfolge, da üblicherweise auch Eingabefelder im SFLCTL-Format enthalten sind. Dieses sollte dann auch OVERLAY enthalten.

Vorteil: Das "Fuss"-Format braucht nur einmal ausgegeben werden, das SFLCTL-Format immer mit EXFMT verarbeiten, da dieses (oder auch WRITE/READ) den Status für die nächste READC-Sequenz (ab 1. veränderten Satz) initialisiert.

Das Anzeigen der Subfile steuerst du über SFLDSP im Kontrollsatz mit Bezugszahl. Ist die Subfile leer, Bezugszahl aus ansonsten an.

SFLNXTCHG in der Subfile mit Bezugszahl ermöglicht erst die Verarbeitung mittels READC.