[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    425
    Sorry aber ich bin wohl zu blöd.
    Mit
    D Frg s 4S 0 DIM(%elem(myds))

    movea Myds Fgr

    kommt nur das 1. Element an. So dusselig kann man sich doch garnich anstellen oder ?
    Max

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Das Problem liegt daran, dass Array Datenstrukturen und Feldgruppen anders aufgebaut sind.

    MoveA funktioniert auf keinen Fall.

    Da in der Array-Datenstruktur nur ein Unterfeld definiert ist und angenommen das Datenstruktur-Unterfeld ist genau so definiert wie das Feldgruppen Element, könnte das Ganze wie folgt funktionieren.

    Code:
    D MyArrDS       DS                              Dim(100) qualified
    D   MyFld                                 10A
    
    D MyFGDS        DS
    D   MyFG                                  10A    Dim(%Elem(MyArrDS))
    
     /Free
        MyFGDS = MyArrDS;
     /End-Free
    Sollte dies nicht funktionieren, musst Du leider eine Schleife bauen:
    Code:
     /Free
        For Index =  1 to %Elem(MyArrDS)
             MyFG(Index) = MyArrDS(Index).MyFld;
        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

  3. #3
    Registriert seit
    Sep 2005
    Beiträge
    425
    Code:
    D MASN            DS                  DIM(30) QUALIFIED     
    D  MA                            4S 0                       
    D                 DS                                        
    D M                              4S 0 DIM(%ELEM(MASN))
    oder
    Code:
    D MASN            DS                  DIM(30) QUALIFIED     
    D  MA                            4S 0                       
    D mm              DS                                        
    D M                              4S 0 DIM(%ELEM(MASN))
    Beides versucht.
    sowohl die schleife als auch dein 1. vorschlag bringen
    Code:
    *RNF5343 30    505 019600  Feldgruppe hat zu viele übergangene Indizes; die Bestimmung
                               wird ignoriert.
    Wuste gar nicht,das ILERPG so schwer ist.

    HILFE
    Max

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Also ... das folgende Beispiel kann problemlos umgewandelt werden (Release V5R4).

    Code:
    D MyArrDS         DS                  Qualified Dim(10) inz    
     D   MyFld                        4S 0                          
                                                                    
     D MyFGDS          DS                  Inz                      
     D   MyFg                         4S 0 Dim(%Elem(MyArrDS))      
                                                                    
     D Index           S              3U 0                          
      ***********************************************
      /Free                                                         
        *InLR = *On;                                               
                                                                    
         MyArrDS(1).MyFld = 111;                                 
         MyArrDS(2).MyFld = 222;                                 
         MyArrDS(3).MyFld = 333;                                 
                                                                    
         Clear MyFg;                                             
         For Index =  1 To %Elem(MyArrDS);              
             MyFg(Index) = MyArrDS(Index).MyFld;        
         EndFor;                                        
                                                          
        Return;                                           
     /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

  5. #5
    Registriert seit
    Sep 2005
    Beiträge
    425
    Moin,

    ja, danke, nun geht es.
    ich hatte gestern statt
    masn(i).ma
    masn.ma(i) geschrieben.

    Das war natürlich falsch

    Danke,
    IleMax

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. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  3. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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