[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2003
    Beiträge
    195

    Question [gelöst] DtaAra im DSPF ?

    Hallo und guten Tag allerseits,

    ich hab da mal eine Frage an die werte Community. Vielleicht gibt es ja jemanden der mir hier weiterhelfen kann:

    In einem DSPF habe ich 20 1-stellige Felder die B1FLD01 bis B1FLD20 lauten.

    Im RPG-Programm soll nun aus einer Dtaara ein 20 stellen langer String als Array mit 1 Stelle ausgelesen werden und jedes Element in das entsprechende Feld im DSPF gestellt werden.

    Die Dtaara lautet wie folgt:

    Code:
    DRI_BAUMLDT       DS                  DtaAra    
    D  D0PRGR                        1A   Dim(20)   
    D  D0STKL                        2A   Dim(15)   
    D  D0SORT                        1A             
    D  D0LAGB                        1A             
    D  D0FREI                      203A
    Dazu habe ich dann eine DS gebildet:

    Code:
    D B1PRGR          DS                 
    D  B1PRGR01                      1A  
    D  B1PRGR02                      1A  
    D  B1PRGR03                      1A  
    D  B1PRGR04                      1A  
    D  B1PRGR05                      1A  
    D  B1PRGR06                      1A  
    D  B1PRGR07                      1A  
    D  B1PRGR08                      1A  
    D  B1PRGR09                      1A  
    D  B1PRGR10                      1A  
    D  B1PRGR11                      1A  
    D  B1PRGR12                      1A  
    D  B1PRGR13                      1A  
    D  B1PRGR14                      1A  
    D  B1PRGR15                      1A  
    D  B1PRGR16                      1A  
    D  B1PRGR17                      1A  
    D  B1PRGR18                      1A  
    D  B1PRGR19                      1A  
    D  B1PRGR20                      1A
    und eine Table:

    Code:
    D B1PRGRD                        1A   Dim(20)
    Wie man sich als kleiner Wutzi so denkt habe ich nun folgendes versucht:

    Code:
     C     *Lock         In        RI_BAUMLDT                    
     C                   Out       RI_BAUMLDT                    
      *                                                          
     C     1             Do        20            X#              
     C                   Move      D0PRGR(X#)    B1PRGRD(X#)     
     C                   EndDo                                   
     C                   Eval      B1PRGR = B1PRGRD
    Nun bekomme ich aber beim umwandeln die folgende Fehlermeldung:
    Code:
         46 D B1PRGRD                        1A   Dim(20)                                        
     ======>                  aa                                                                 
     *RNF3703 20 a      004600  Unterfeld- oder Parameterdefinition nicht in einer Gruppe        
                                angegeben.
    und für das Statement

    Code:
     C                   Eval      B1PRGR = B1PRGRD   
    
    Feldgruppe hat zu viele übergangene Indizes; die Bestimmung   
    wird ignoriert.
    Kann mir bitte hier jemand weiterhelfen? Bin für jede Unterstützung dankbar.

  2. #2
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Hallo FNeurieser

    vielleicht hilft statt dem eval ein movea ?
    So in etwa:
    Code:
    C   movea  D0PRGR   B1PRGR
    Gruß,
    Christian

  3. #3
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hallo,

    kann es sein dass du B1PRGRD NICHT innerhalb einer Datenstruktur definieren willst?

    Code:
    D B1PRGRD      S                 1A   Dim(20)
    lg Andreas

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Ändere den SourceCode wie folgt ab und es sollte funktionieren:

    Code:
    D B1PRGR          DS                 
    D  B1PRGR01                      1A  
    D  B1PRGR02                      1A  
    D  B1PRGR03                      1A  
    D  B1PRGR04                      1A  
    D  B1PRGR05                      1A  
    D  B1PRGR06                      1A  
    D  B1PRGR07                      1A  
    D  B1PRGR08                      1A  
    D  B1PRGR09                      1A  
    D  B1PRGR10                      1A  
    D  B1PRGR11                      1A  
    D  B1PRGR12                      1A  
    D  B1PRGR13                      1A  
    D  B1PRGR14                      1A  
    D  B1PRGR15                      1A  
    D  B1PRGR16                      1A  
    D  B1PRGR17                      1A  
    D  B1PRGR18                      1A  
    D  B1PRGR19                      1A  
    D  B1PRGR20                      1A
    D  B1FG                          1A      Dim(20) Overlay(B1PRGR)
    ....
    
    C********     Eval      B1PRGR = B1PRGRD 
    C             Eval      B1FG = B1PRGRD
    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
    Apr 2003
    Beiträge
    195

    Thumbs up

    Danke Brigitta,

    das war des Pudels Kern.

    LG

    Franz

Similar Threads

  1. Problem DSPF
    By tm1104 in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 21-01-07, 18:55
  2. Daten aus DTAARA
    By dino in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 08-01-07, 15:15
  3. Antworten: 7
    Letzter Beitrag: 08-09-06, 17:24
  4. Fehlerzeile in DSPF
    By Freezer in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 18-08-06, 08:11
  5. DSPF ALT+F1 für Hilfe funktioniert nicht!
    By hteufl in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 18-01-06, 10:58

Berechtigungen

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