View Full Version : Subfile: Felder bedingt anzeigen
Hallo Margit,
auch in Cobol können Datenstrukturen definiert und Display-Attribute über den Hex-Wert gesetzt werden.
Mehrere gleichzeitig geladene Subfiles haben allerdings den Vorteil, dass beim Hin- und Her-Switchen nur ein anderes Format angezeigt werden muss. Im anderen Fall, müssen die Subfile-Sätze neu geschrieben werden.
Birgitta
Gerade in COBOL bietet sich das doch an, da ich in Datenstrukturen auch Feldformatierungen sehr schön gestalten kann (pic z.zz9,99-). In RPG ist das da schon etwas aufwändiger (F-Bestimmung SPECIAL, PLIST-Eintrag, Except-Anweisungen und O-Bestimmungen).
Attribute können einfach mit "nn filler pic x value x'XX'." eingeschoben werden. Wie die Attribute aussehen siehe meinen obigen Verweis.
Margit Bester-Helfrich
28-07-04, 12:08
Ich bin wirklich begeistert von der regen Teilnahme. Fehlt nur noch ein kleines Beispielprogramm, dann wäre es perfekt ;-)
Das nur als Scherz am Rande, ich habe es jetzt doch mit den 2 Subfiles gelöst, die ich gleichzeitig fülle und bei denen ich dann nur jeweils das Format wechseln muß.
Nochmals herzlichen Dank an alle!!!
Margit Bester-Helfrich
Margit Bester-Helfrich
06-08-04, 07:38
Mehrere gleichzeitig geladene Subfiles haben allerdings den Vorteil, dass beim Hin- und Her-Switchen nur ein anderes Format angezeigt werden muss. Im anderen Fall, müssen die Subfile-Sätze neu geschrieben werden.
Hallo Birgitta oder andere,
ich habe nun leider wieder ein Problem mit diesen Subfiles:
sobald ich einmal rückwärts geblättert habe, klappt das Hin- und Herswitchen nicht mehr. Er merkt sich offensichtlich die zuletzt gelesene Seite und springt dann dorthin. Da das Rückwärtsblättern ja automatisch geschieht, habe ich anscheinend keinen Einfluß darauf, oder???
MfG
Margit Bester-Helfrich
Stimmt fast !
In der I-O-Feedbackarea steht die Satznr. des obersten angezeigten Satzes einer Subfile.
Beim Switch kannst du diese Satz-Nr. zum positionieren der anderen Subfile (Schlüsselwort SFLRCDNBR(CURSOR) auf verstecktes Feld 4,0) angeben.
Mit SFLCSRRRN(&Feld) auf verstecktes Feld 5,0 erfährst du die SatzNr. wo der Cursor steht, kann also genauso zum positionieren verwendet werden. Wird der Cursor aber auf einen Bereich ausserhalb der Subfile verschoben, wird 0 zurückgegeben.
Margit Bester-Helfrich
06-08-04, 10:42
Zunächst wieder vielen Dank für die schnelle Anwort.
Ich dachte auch schon, jetzt hätte ich's, aber leider wird die Satznr. des obersten angezeigen Sfl-Satzes n u r nach dem Rückwärtsblättern gefüllt. Wenn ich jetzt also nach dem Rückwärtsblättern einmal per F-Taste die 2. Sicht aufrufe und will dann ohne nochmals zu Blättern wieder zurück zur ersten Sicht, blättert er doch (intern) wieder vor bis zur höchsten Seite, bis zu der schon einmal vorgeblättert worden war.
Die Cursorpositonierung über SFLCSRRRN hilft mir hier auch nicht weiter, da ich zwar die Zeile, nicht aber die aktuelle Seite im Zugriff habe.
Ich fürchte, ich muß das Programm nochmal umstellen auf normale Verarbeitung von 2 Subfiles...
Margit Bester-Helfrich
Die Cursor-Positionierung SFLRCDNBR ist entscheidend !!!
Die Seite wird nämlich automatisch berechnet !
Liefert z.B. SFLCSRRRN den Satz 37, kopiere den Inhalt in die Variable der 2. Subfile mit SFLRCDNBR und gib das CTL-Format aus.
Das System positioniert auf diesen Satz und zeigt die zugehörige Seite an.
Entsprechend umgekehrt.
Die Satz-Nr. im I-O-Feedback hilft nur, wenn der Cursor eben nicht im SFL-Bereich steht sondern z.B. im SFLCTL-Bereich. Dann kann der Cursor eben auf diese Satz-Nr. positioniert werden.
Margit Bester-Helfrich
12-08-04, 06:18
Ich möchte mich abschließend nochmals ganz herzlich für die vielen guten Tips bedanken, die mir sehr weitergeholfen haben.
MfG
Margit Bester-Helfrich
Um die Problematik mit SFLCSRRRN und SFLRCDNBR zu entgehen, bleibt noch die Möglichkeit, jeweils nur eine Subdateiseite zu füllen und die Abarbeitung der BILD-Tasten selbst zu übernehmen.
Bei uns wird das "nachladen" einer weiteren Seite (Bild Auf) standardmässig programmiert. Das etwas aufwendigere "rückwärtsladen" versuche ich zu vermeiden.
Bei der Anzeige von mehreren Sichten ist das Füllen von nur einer Seite aber zweckmässig.
ERTH