[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2002
    Beiträge
    25

    Question Feldgruppen-Element in einer DSPF

    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

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928

    Feldgruppen-Elemente

    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.
    PHP-Code:
    D DSDspF          DS                                                          
    D  DspFld1                                                                    
    D  DspFld2                                                                    
    D  DspFld3                                                                    
    D FGDspF                              like
    (DspFld1dim(3overlay(DSDspF
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Aug 2002
    Beiträge
    25

    Wink Feldgruppe in DSPF

    Hallo Birgitta,

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

    Jürgen

  4. #4
    Registriert seit
    Oct 2003
    Beiträge
    192
    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

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    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.

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.928

    Datenstrukturen

    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?!)

    PHP-Code:
    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(DSUmsatzDim(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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  7. #7
    Registriert seit
    Oct 2003
    Beiträge
    192
    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

Similar Threads

  1. Problem DSPF
    By tm1104 in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 21-01-07, 18:55
  2. Antworten: 7
    Letzter Beitrag: 08-09-06, 17:24
  3. Fehlerzeile in DSPF
    By Freezer in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 18-08-06, 08:11
  4. DSPF ALT+F1 für Hilfe funktioniert nicht!
    By hteufl in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 18-01-06, 10:58
  5. DSPF mit mehreren Records mit 80 UND 132 Spalten Breite
    By Wanderer_HB in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 28-06-05, 12:36

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •