Hallo an alle,

selbstaktualisierende Subfiles sind möglich! Allerdings muss man dabei etwas tricksen.
Kompliziert wird das Ganze, wenn man die Auswahlen sichern muss!

Das Füllen erfolgt im Batch über einen Dauerläufer-Job, der die Subfile-Sätze in eine DataQueue ausgibt.
Die DataQueue wird im Dialog-Programm ausgelesen und in die Subfile umgeladen.

In der Display-File muss das Schlüssel-Wort INVITE auf Dateiebene bedingt (mit Bezugszahl) angegeben werden.
Die DataQueue muss beim Umwandeln der Display-File im Parameter DTAQ hinterlegt werden.
Alternativ kann die Dataqueue auch über einen OVRDSPF gesetzt werden.
Erfolgt eine Eingabe über die Tastatur, wird ein DataQueue-Eintrag mit '*DSPF' auf Stelle 1-5 erzeugt.

Das Dialog-Programm erstellt die Dataqueue, submittet das Füll-Programm. Es muss eine Steuerung eingebaut werden, die den Dauerläuferjob bei Programm-Ende beendet.
Im Dialog-Programm darf für das Subfile-Kontroll-Format kein EXTFMT erfolgen!
Die Bezugszahl für INVITE muss vor dem WRITE des Subfile-Kontroll-Formats auf *ON gesetzt werden.
Die DataQueue steht auf permanentem Empfang (API QRCVDTAQ 5. Parameter Wartezeit = -1).
DataQueue-Einträge, die nicht mit *DSPF beginnen werden in die Subfile geschrieben.
Für DataQueue-Einträge, die mit *DSPF beginnen, wird der Subfile-Kontroll-Satz über READ eingelesen. Die Verarbeitung der Eingaben kann, wie in jedem anderen Dialog-Programm erfolgen.

Übrigens, nur so als kleine Anmerkung, das geht schon seit es die AS/400 gibt, nur kaum einer weiss es!

Birgitta