PDA

View Full Version : WINDOW SFL



philsturm
18-10-12, 10:36
Hallo Leute!

Ich habe mal eine Fragen zu einer WDWSFL (WindowSubfile).

Ich habe ein Window in zur Zeit in 2 Teile aufgeteilt.

Im oberen Bereich (Steuersatz) steht der Titel des Programms, Datum, etc.

Dort drunter findet sich die eigentliche Subfile mit X Elementen.

Jetzt meine Frage:
Ich möchte unter die Subfile noch einen Text schreiben (z.B. F3=Verlassen, etc.).

In die Subfile selbst kann ich es nicht schreiben. Wenn ich es in den Steuersatz schreibe überlappen sich Steuersatz und Subfile.
Mit einen Record habe ich es auch nicht hinbekommen.

Gibt es dafür eine Lösung?

Vielen Dank im voraus!

Fuerchau
18-10-12, 10:41
Nein, dafür gibt es keine Lösung da ein Window nur ein Format unterstützt.
Ich schreibe die Funktionstasten dann wie immer in die unterste Zeile des Bildschirms also außerhalb des Fensters.
Zu beachten ist OVERLAY!
Manchmal klappt das mit dem Overlay nicht (ich weiß auch nicht warum), dann nehme ich CLRL CLRL (Clear Line) keyword for display files (http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/topic/rzakc/rzakcmstdfclrl.htm).

KM
18-10-12, 11:43
Hallo,

natürlich geht das. Wäre ja schlecht, wenn das nicht ginge.

Einfach ein Window mit derselben Größe definieren wie die Window-Subfile. In dieses Window nur die Fußzeile schreiben. Dann ein WRITE auf dieses Window und danach ein EXFMT auf die Window-Subfile. Natürlich OVERLAY nicht vergessen.

Gruß,
KM

Fuerchau
18-10-12, 11:50
Sieht nur Sch... aus.
Jedes Fenster hat einen eigenen Rahmen die sich nun überlappen.
So ein Layout kann ich keinem anbieten :).
da gefüllt mir meine Fußzeile schon besser, ins besonders wenn ich auch noch eine Status-/Fehlerzeile habe.

mk
18-10-12, 11:59
Hallo,

Du musst in diesem Fall mit einem Referenzwindow arbeiten.

Hier ein Beispiel:

A DSPSIZ(24 80 *DS3)
A R WSFL SFL
A*%%TS SD 20121018 124425 MICHAELK REL-V6R1M0 5761-WDS
A OPT 2A O 3 2
A FLD001 4 O 3 6
A FLD002 37 O 3 12
A R WDWCTL SFLCTL(WSFL)
A*%%TS SD 20121018 125102 MICHAELK REL-V6R1M0 5761-WDS
A OVERLAY
A CF03
A CF12
A 80 SFLDSP
A 81 SFLDSPCTL
A N80 SFLCLR
A SFLSIZ(0008)
A SFLPAG(0005)
A WINDOW(WIN)
A 2 1'OPT'
A 2 6'Nr'
A 2 12'Name'
A R WIN
A*%%TS SD 20121018 125154 MICHAELK REL-V6R1M0 5761-WDS
A WINDOW(2 2 16 50)
A 15 2'F3=Verlassen'
A 15 17'F12=Abbruch'


Das Format WIN ist das Referenzfenster und enthält
auf der Zeile 15 die Befehlstasten.

Gruß
Michael

KM
18-10-12, 12:23
Du musst in diesem Fall mit einem Referenzwindow arbeiten.

Das wäre die Alternative. Entweder Referenzfenster oder feste Definition. Das Ergebnis ist dasselbe.


Sieht nur Sch... aus.

Und ich wüsste nicht was hier Sch... aussehen sollte. Sieht doch völlig normal aus und ist auch die übliche Programmierweise.

Gruß,
KM

Fuerchau
18-10-12, 12:23
Oh schön, wieder mal was gelernt.

Und was das Aussehen angeht, so verliere ich ja eine Zeile durch den unteren Rahmen des überlagernden Fensters.

philsturm
18-10-12, 12:42
Ich habe mir jetzt mit dem WDWTITLE geholfen. Ist nicht exakt das Richtige, aber hilft auch erstmal.

Das mit dem Überlappenen Window werde ich aber testweise auch mal probieren!

Danke!

philsturm
18-10-12, 12:48
Habs nun getestet.
Wenn ich ein write auf das "Footer-Window" mache, passiert nichts, d.h. es wird nicht angezeigt.

Hat jetzt funktioniert. Allerdings verliere ich dabei wirklich eine Zeile. Da das Window schon knapp kalkuliert ist, werde ich auf WDWTITLE zurückgreifen...