View Full Version : S/36 Format und Hidden Felder
Hallo Kollegen,
ich habe eine Frage bezüglich S/36 Formate. Unabhängig der Möglichkeit Format und Programm zu konvertieren hier meine Frage:
Kann ich in einem S/36 Format Hidden Felder anlegen?
Vielen Dank im Voraus.
Viele Grüße
HIDDEN Felder gibt es nur in SQL-TABLES (ich glaube ab V6), wobei die per Native-IO wohl nicht hidden bleiben, und in DSPF's (DSPATR(ND)).
Hallo Fuerchau,
danke für die Antwort.
Aber habe ich die jetzt richtig verstanden - wenn ich reine S36 Formate (keine Dateien) nehme, kann ich Hidden-Felder definieren - wie in "AS/400 DSPF's"?!?
Ich muss nämlich in einer ur-alten S/36 Anwendung eine Änderung machen.
Viele Grüße
Ich nehme mal an, du meinst "intern" beschriebene Dateien.
Per DSPFFD hat die Datei nur 1 Feld.
Du kannst an bestehende PF's per CHGPF mit Sourceangabe Felder hinten dranhängen ohne das Programme davon betroffen sind.
Du musst nur den LVLCHK(*NO) für die PF und alle abhängigen LF's einschalten.
Bevorzugt solltest du nur CHAR-Felder nehmen, bei anderen Typen sollte zumindest das Programm, dass Daten per WRITE erstellt die korrekte Struktur kennen und die Felder initialisieren.
Das selbe gilt natürlich für interne Dateien.
Hintergrund:
Beim Open enthält jede Datei einen internen Puffer in der korrekten Länge.
RPG überträgt zwischen Puffer und Feld. Was also zur Laufzeit nicht bekannt ist wird nicht berücksichtigt.
Hallo Fuerchau,
irgendwie verstehen wir uns nicht :)
Ich meine nicht Tables (PF) - ich rede von Bildschirmdateien (DSPF36)
Wozu benötigst du in DSPF's "hidden" Felder?
Dies macht nur wirklich Sinn in Subfiles.
Dort definierst du dann ein "H" für Hidden (Statt O oder B) und lässt Zeile/Spalte weg.
Ansonsten verwendet man Programmvariablen.
Wenn Du "Pseudo"-Subfiles verwendest (Zeilenweises ausgeben entsprechend einer Subfile)
musst du das Feld mit dem Attribut (ND) definieren oder wie Fuerchau schon schreibt, als Programmvariable verwenden.
Wenn eine Subfile nicht angezeigt wird, sind Attribute nicht relevant.
DSPATR(ND) belegt ansonsten den Platz auf dem Bildschirm.
Überlagerungen (mit BZ) sind nur in festen Subfiles (SFLSIZ=SFLPAG) erlaubt.
Ansonsten gibt es eben H-Felder in der Subfile.
OK - Vielen Dank für die Antworten.
Viele Grüße