[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2002
    Beiträge
    37

    Datenstruktur über Feldgruppe legen / RPG

    Hallo,

    wer kann mir sagen wie es funktioniert bei RPG eine Datenstruktur über die Feldgruppe zu legen.

    Vielen Dank.

    Gruss

    Robert

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    RPGIV

    E MYTBL 100 1 // Tabelle mit 100 x 1 Zeichen

    IMYDS DS
    I 1 100 MYTBL
    I 1 1 FLD1
    I 2 5 FLD2
    :

    Durch die erneute Definition von MYTBL in der DS erfolgt eine Überlagerung der Felder.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    May 2002
    Beiträge
    37
    danke

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

    Datenstruktur über Feldgruppe

    Hallo Fuerchau,

    Deine Lösung ist RPGIII oder RPG400 und mit Sicherheit nicht RPGIV.
    (E-Bestimmungen gibt es in RPGIV nicht und I-Bestimmungen braucht man nicht mehr!)

    In RPGIV geht das etwas eleganter:
    Man kann auf andere Felder referenzieren.
    Statt Von/Bis-Angaben genügt die Feld-Definition (Länge/Typ/Dezimal-Stellen)
    Sind Felder bereits definiert, z.B. in Datei durch F-Bestimmung,
    genügt eine Auflistung der Felder.

    Wichtig ist nur, dass die Feldgruppe die Datenstruktur überlagert und nicht etwa das 1.Feld.

    PHP-Code:
    D DSUmsatz        DS                                                     
    D  UmsJan                       11P 3                                    
    D  UmsFeb                       11P 3                                    
    D  UmsMrz                       11P 3                                    
    D  UmsApr                       11P 3                                    
    D  UmsMai                       11P 3                                    
    D  UmsJuni                      11P 3                                    
    D  UmsJuli                      11P 3                                    
    D  UmsAug                       11P 3                                    
    D  UmsSept                      11P 3                                    
    D  UmsOkt                       11P 3                                    
    D  UmsNov                       11P 3                                    
    D  UmsDez                       11P 3    
    D  FGUmsatz                           like
    (UmsJanOverlay(DSUmsatz)    
    D                                     Dim(12)                                                          

     * 
    Überlagerung von Datei-Feldern
    D  DSADName       DS                                                    
    D   ADNA1                                                               
    D   ADNA2                                                               
    D   ADNA3                                                               
    D   ADNA4                                                               
    D   ADNA5                                                               
    D   FGName                            like
    (ADNA1Dim(5overlay(ADNAME
    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

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Ja OK, mit den Nummern vertue ich mich immer etwas. Für mich gibts nur die Unterscheidung zwischen RPG und RPGLE.

    Ich lass die Nummer demnächst weg
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Oct 2003
    Beiträge
    192
    Hy,

    Kann mir jemand sagen ob das auch mit Feldern einer Extern Beschriebenen Datenstruktur geht?


    D PARM620 E DS 256 EXTNAME(FIL620ED)

    D STDVDS DS
    D PFST1V
    D PFST2V
    D PFST3V
    D PFST4V
    D STDV LIKE(PFST1V) DIM(4) OVERLAY(STDVDS)


    In der Art hab ich das probiert, da sagt er beim wandeln leider dass die Felder schon definiert sind.
    Vermutlich gehts ganz leicht und ich hab nur mal wieder das Problem mit dem Baum und dem Wald.

    Ansonsten schönes Wochenende

    Rince

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von Rincewind
    Hy,

    Kann mir jemand sagen ob das auch mit Feldern einer Extern Beschriebenen Datenstruktur geht?


    D PARM620 E DS 256 EXTNAME(FIL620ED)

    D STDVDS DS
    D PFST1V
    D PFST2V
    D PFST3V
    D PFST4V
    D STDV LIKE(PFST1V) DIM(4) OVERLAY(STDVDS)

    In der Art hab ich das probiert, da sagt er beim wandeln leider dass die Felder schon definiert sind.
    Vermutlich gehts ganz leicht und ich hab nur mal wieder das Problem mit dem Baum und dem Wald.

    Ansonsten schönes Wochenende

    Rince
    Hallo Rince,

    wie der Compiler sagt, ein Feld darf nur in einer Datenstruktur enthalten sein. Würde es sich um eine Datei, die in den F-Bestimmungen definiert ist, würde es gehen.

    Du musst einen kleinen Umweg über einen Pointer machen
    Hier ein Beispiel:
    Code:
    D DSADRBP       E DS                  EXTNAME(LLADRBP)    
     
    D MyPtr           S               *   Inz(%Addr(ADNA1))   
    D Name                                 based(MyPtr) like(ADNA1) dim(5)  
                                                              
    D Index           S              3U 0      
     /Free                     
       clear DSADRBP;          
       ADNA1 = 'ABC';          
       ADNA2 = 'BCD';          
       ADNA3 = 'EFG';          
       ADNA4 = 'HIJ';          
       ADNA5 = 'XYZ';          
       For Index = 1 to 5;     
           Dsply Name(Index);  
       EndFor;                 
     /End-Free
    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

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    In RPG ist es leider so, dass Felder insgesamt nur 1x definiert werden (Ausnahme ab V5 mit qualified). Die Felder sind also schon in PARM620 definiert.
    Du must deine Pseudo-Struktur in PARM620 als Zeichenfeld definieren (leider mit von-bis) und dann den Overlay.

    D PARM620 E DS 256 EXTNAME(FIL620ED)
    d STDVDS (von) (bis)
    D STDV LIKE(PFST1V) DIM(4) OVERLAY(STDVDS)

    Wenn die Struktur PARM620 insgesamt nicht gebraucht wird und die Datei ja in den F-Bestimmungen vorkommt sind die Felder bereits definiert (I-Bestimmung) und du läßt PARM620 weg. STDVDS ist dann so korrekt.

    Liegen die Felder in der Struktur nicht direkt hintereinander, wirds etwas komplizierter.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Oct 2003
    Beiträge
    192
    Hallo ihr beiden,

    Vielen Dank für die Hilfe.

    Die Lösung mit dem Pointer ist mir noch zu neu, ich arbeite noch nicht sooo viel mit denen, von daher werde ich mich zunächst der "althergebrachten" Lösung widmen. So habe ich es ohnehin schon gemacht, da das Programm mal wieder schnell-schnell fertig werden musste.

    Ich werde mir das mal merken um dies in etwas weniger hektischen Zeiten auszuprobieren.

    Vielen Dank

    Rince

Similar Threads

  1. ILE RPG / SQL Füllen einer Feldgruppe
    By homue in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-07-07, 16:47
  2. Bibliotheksliste in RPG IV abfragen
    By timeless in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 11-01-07, 12:04
  3. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  4. RPG goes Web
    By jth in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 21-12-06, 11:13

Berechtigungen

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