PDA

View Full Version : Feldgruppen-Element in einer DSPF



J.Kess
05-09-03, 14:07
Hallo,

habe da eine Frage zu Feldgruppen-Elementen.

Gibt es Möglichkeiten Feldgruppen-Elemente in DSPF bzw.
Printer-Files zu benutzen???

Besten Dank im voraus.
Jürgen

B.Hauser
05-09-03, 16:07
Hallo Jürgen,

eine einfache Möglichkeit ist:
Eine Datenstruktur mit den Feldern aus der Display-File (oder Printer-File) zu definieren und diese mit einer Feldgruppe zu überlagern.
Wenn die Felder bereits definiert sind, genügt eine Auflistung der Felder in der Datenstruktur (Länge oder von/bis Position muss nicht angegeben werden)

z.B.


D DSDspF DS
D DspFld1
D DspFld2
D DspFld3
D FGDspF like(DspFld1) dim(3) overlay(DSDspF)


Birgitta

J.Kess
08-09-03, 11:35
Hallo Birgitta,

danke für den Tip, hat super funktioniert.
Wusste nicht, dass man mit OVERLAY arbeiten kann.

Jürgen

Rincewind
11-02-04, 10:55
Hy,

hatte das Problem gerade auch und habe folgende Frage:

Ich habe eine Datei Filialzahl (24 Felder pro Jahr)
Ich zerlege diese in 2 Datenstrukturen

DSPFZ
PFZ01
PFZ02
...
PFZ12

und
DSIFZ
IFZ01
IFZ02
...
IFZ12

Nun möchte ich diese in 2 tabellen packen
also:
PFZTAB LIKE(PFZ01) DIM(12) OVERLAY(PFZDS)
und
IFZTAB LIKE(IFZ01) DIM(12) OVERLAY(IFZDS)

Das klappt aber nur wenn ich die Tabellen jeweils direkt nach der Datenstruktur definiere (Also PFZTAB nach DSPFZ und IFZTAB nach DSIFZ).

Mein Wunsch ist aber eigentlich alle Tabellen zusammen zu definieren, damit man die Tabellen alle übersichtlich beisammen hat.

Geht das Irgendwie ?

Schönen Dank (auf jeden Fall hat mich das bisherige Posting schonmal zur schmucken ILE Lösung geführt)

Rince

BenderD
11-02-04, 11:01
Hallo,

wenn die aus der gemeinsamen DS raussollen kann man das mit pointer basierten Variablen und entsprechenden inz Einträgen auf diese Pointer machen.

mfg

Dieter Bender

PS: ob das alles wirklich so schick ist, sei noch dahingestellt, das ist allesamt verdeckte Programmierung und ich denke mit Schrecken an all den Scheiss, der mit sowas angerichtet wird.
Denkt doch mal über eine imple Zuweisung nach, mehr Arbeit beim Schreiben und weniger Arbeit beim Lesen und Fehler suchen.

B.Hauser
11-02-04, 11:45
Hallo Rince,

ich bin mir nicht ganz sicher, was Du erreichen willst.
Versuch's mal mit folgendem Konstrukt:
(Es funktionniert, ob das aber unbedingt schöner ist?!)



D DS
D DSUmsatz
D DSUmsKosten Overlay(DSUmsatz)
D Ums1 Overlay(DSUmsKosten)
D Kst1 Overlay(DSUmsKosten: *Next)
D Ums2 Overlay(DSUmsatz: *Next)
D Kst2 Overlay(DSUmsatz: *Next)
D Ums3 Overlay(DSUmsatz: *Next)
D Kst3 Overlay(DSUmsatz: *Next)
D FgUmsKst Overlay(DSUmsatz) Dim(3)
D like(DSUmsKosten)
D FgUms Overlay(FgUmsKst)
D like(Um1)
D FgKst Overlay(FgUmsKst: *Next)
D like(Kst1)


Die Felder Ums1-3 und Kst1-3 können Datei-Felder sein (Auflistung genügt)
FGUmsKst ist eine Feldgruppe, der Form Ums1Kst1 Ums2Kst2, Ums3Kst3.
Die Definition der Feldgruppen-Elemente in FGUmsKst wird durch die Datenstruktur DSUmsKosten definiert.
FgUms ist eine Feldgruppe, die alle Ums-Felder beinhaltet.
FgKst ist eine Feldgruppe, die alle Kst-Felder beinhaltet.
Durch die Überlagerung werden FgUms und FgKst automatisch als Feldgruppen definiert.

Birgitta

Rincewind
11-02-04, 12:04
Danke schön,

was die Schönheit angeht habt ihr allerdings recht.

Vermutlich bleibe ich bei dem Leitsatz
Keep it simple

und splitte die einfach auf.

Stehen manche Tabellen halt woanders (muss man halt wieder eine Zeile mehr dokumentieren )


Die Antwortzeiten in diesem Forum sind wirklich erschreckend gut.


Bis bald
Rince