[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2002
    Beiträge
    43

    Question Tabellen in RPG IV


    Hallo an Alle,

    ich möchte die built-in function %tlookup verwenden. Dafür habe ich in der RPG-Quelle eine Tabelle folgendermassen definiert:

    D ILN S 13 0 DIM(5) PERRCD(1) CTDATA

    ** CTDATA ILN
    4004840000004
    4002593000005
    4004849000005
    4001645000000
    4007104000000

    Wenn ich das Programm umwandele, erhalte ich die Fehlermeldung:
    Es werden zu viele Feldgruppenindexe übergangen.
    Daher meine Frage, wenn das oben, eine Definition für eine Feldgruppe ist, wie definiere ich dann eine Tabelle ?
    Ich brauche bitte keine Tipps, wie ich die Funktion anderweitig ersetzen kann (z.B. durch %lookup), ich muss eine Tabelle definieren und %tlookup verwenden.
    (Wir verwenden OS/400 V5R2M0).

    Vielen Dank im voraus für Eure Hilfe, Marc.

  2. #2
    Registriert seit
    May 2002
    Beiträge
    1.121

    Post

    moin moin,

    versuche es mal mit
    Code:
    d iln             s             13s 0 dim(5) perrcd(1) ctdata
    gruß ronald

  3. #3
    Registriert seit
    Jul 2002
    Beiträge
    43

    Post

    Hallo Ronald, leider hat das nicht den gewünschten Erfolg gebracht, ich bekomme immer noch die gleiche Fehlermeldung:
    RNF0597 20 2 Der zweite Parameter für %TLOOKUPxx ist ungültig.
    RNF5343 30 2 Feldgruppe hat zu viele übergangene Indizes;

    Hat noch jemand Ideen ?

  4. #4
    Registriert seit
    May 2002
    Beiträge
    1.121

    Post

    also wenn es darum geht zu prüfen ob der wert in der tabelle ist, dann versuche es mit
    Code:
         d iln             s             13s 0 dim(5) perrcd(1) ctdata   
         d test            s             10a                             
         d index           s              5s 0                           
                                                                         
         c                   clear                   index               
         c                   eval      index = %lookup(4004849000005:iln)
         c                   if        index > *zeros                    
         c                   eval      test  = 'Hallo'                   
         c                   endif                                       
         c                                                               
         c                   eval      *inlr = *on                       
    **                                                                   
    4004840000004                                                        
    4002593000005                                                        
    4004849000005                                                        
    4001645000000                                                        
    4007104000000
    wenn index > 0 ist, dann hat dann ist der wert in der tabelle. und bei 0 halt nicht

    gruß ronald

    [Dieser Beitrag wurde von malzusrex am 31. März 2003 editiert.]

  5. #5
    Registriert seit
    Jul 2002
    Beiträge
    43

    Post

    Hallo Ronald,

    danke für Deinen Tipp, aber wie ich schon geschrieben habe, soll ich mit der Funktion %tlookup arbeiten und dafür muss ich leider eine Tabelle definieren und kann nicht mit einer Feldgruppe arbeiten. Ich weiss ja nur nicht, wie man eine Tabelle definiert!

    Gruß, Marc

    [Dieser Beitrag wurde von Gimli am 31. März 2003 editiert.]

  6. #6
    Registriert seit
    May 2002
    Beiträge
    1.121

    Post

    hallo marc,

    das geheimnis liegt im namen. eine tabelle muß mit TAB anfagen.
    Code:
         d tabiln          s             13s 0 dim(5) perrcd(1) ctdata
         d test            s             10a                          
                                                                      
         c                   if        %tlookup(4004849000005:tabiln) 
         c                   eval      test  = 'Hallo'                
         c                   endif                                    
         c                   eval      *inlr = *on                    
    **                                                                
    4004840000004                                                     
    4002593000005                                                     
    4004849000005                                                     
    4001645000000                                                     
    4007104000000
    gruß ronald

  7. #7
    Registriert seit
    Jul 2002
    Beiträge
    43

    Post


    D A N K E !!
    Das hat geholfen :-)

Similar Threads

  1. Bibliotheksliste in RPG IV abfragen
    By timeless in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 11-01-07, 12:04
  2. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  3. Verknüpfen von Tabellen mit SQL
    By e_sichert in forum IBM i Hauptforum
    Antworten: 21
    Letzter Beitrag: 28-11-06, 19:43
  4. SSL API in RPG IV
    By Kurmas Zeschlon in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 27-06-05, 15:48

Berechtigungen

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