[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2004
    Beiträge
    60

    Verknüpfte Feldgruppe

    Hallo,

    Habe in einem ILE RPG zwei feldgruppen
    die zur Laufzeit gefüllt werden

    d trm5 s 3a dim(50)
    d anz5 s 4s 0 dim(50)
    ..
    c P5coli lookup trm5(i) 55
    c if *in55 = *on
    c eval anz5(i) = anz5(i) + P5anps
    c else
    c *blanks lookup trm5(i) 55
    c eval trm5(i) = P5coli
    c eval anz5(i) = P5anps
    c endif

    ich möchte die erste Feldgruppe mit SORTA sortiern und dabei soll die zweite mit sortiert werden.
    Was muß ich in der D bestimmung noch tun um dies zu erreichen?

    Danke im Voraus
    Gruss
    DD3TJ
    Thibaut Foucart

  2. #2
    Registriert seit
    May 2002
    Beiträge
    1.121
    versuche es mal damit
    PHP-Code:
    d                 ds                                               
    d MyFldGrp                            Dim
    (100)                     
    d  trm5                          3a   OverlayMyFldGrp )          
    d  anz5                          4s 0 OverlayMyFldGrp : *Next 
    Gruß
    Ronald

  3. #3
    Registriert seit
    Jul 2004
    Beiträge
    60
    Hallo,

    Danke es hat funktioniert.

    gruss
    DD3TJ
    Thibaut Foucart

  4. #4
    Registriert seit
    Jul 2001
    Beiträge
    56
    Hallo zusammen,

    habe eine ähnliche Feldgruppe bei der die BIF %LOOKUP nicht funktioniert. Nehme ich den Operationcode LOOKUP dann klappt es? Bin nicht dahinter gekommen an was es liegt, hat jemand bereits ähnliche Erfahrungen gemacht?

    d ds
    Da_mhdlos 53 dim(500) ascend
    D a_mhd 43 overlay(a_mhdlos:1)
    D a_men 10S 0 overlay(a_mhdlos:44) inz(0)

    diese Zeile funktioniert nicht (y = immer 0), obwohl a_mhd mit Werten gefüllt und im Suchfeld v_hf0043 exakt ein enthaltener Wert abgefragt wird?
    c* eval y = %lookup(v_hf0043:a_mhd)

    nachfolgender Code funktioniert mit gleichen Feldinhalten
    c eval y = 1
    c v_hf0043 lookup a_mhd(y) 36
    c if *in36 = *off
    c eval y = 0
    c endif


    c if y > 0
    c else
    c eval y = %lookup(*blank:a_mhd)
    c move v_hf0043 a_mhd(y)
    c endif

    MfG
    Chera

  5. #5
    Registriert seit
    Feb 2008
    Beiträge
    104
    Hallo Chera,

    ich würde bei dem statement

    c* eval y = %lookup(v_hf0043:a_mhd)

    mal einen Startindex mitgeben, wie:

    c* eval y = %lookup(v_hf0043:a_mhd:1)

    das machts du bei dem zweiten Beispiel, das ja funktioniert nämlich auch, indem du vorher y auf 1 setzt.

    Karl-Heinz

  6. #6
    Registriert seit
    Jul 2001
    Beiträge
    56
    Hallo,

    habe das eigentlich immer ohne Startindex gemacht, funktioniert ja auch wenn ich den nächsten leeren Feldgruppenindex suche.

    c eval y = %lookup(*blank:a_mhd)

    Aber danke für den Tipp, werde das mal ausprobieren.

    Chera

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Brauchst Du eigentlich unbedingt das Schlüssel-Wort ASCEND?

    Da Du nur auf gleich vergleichst und nicht auf größer oder kleiner. Sollte dieses Schlüssel-Wort nicht erforderlich sein, entferne es.

    Sofern führe, sofern Du das Schlüssel-Wort ASCEND wirklich brauchst vor dem %LOOKUP einen SORTA durch.

    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
    Jul 2001
    Beiträge
    56
    Hallo Britta,

    auch dir danke für deinen Tipp. ACSEND wird nicht benötigt, war für eine andere Variante gedacht, werde es entfernen.

    Trotzdem sollte doch die BIF mit dem Operationscode das gleiche Ergebnis liefern?

    Chera

Similar Threads

  1. Feldgruppe mit einem SQL Stmt füllen
    By ILEMax in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 24-02-11, 07:23
  2. Feldgruppe indizieren in ILERPG
    By thommy in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 25-02-10, 11:25
  3. Feldgruppe durchsuchen FREE
    By Mr.iSeries in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 11-05-09, 11:48
  4. ILE RPG / SQL Füllen einer Feldgruppe
    By homue in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-07-07, 16:47
  5. Anzahl gefüllte Elemente in Feldgruppe
    By malzusrex in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 23-02-06, 12:55

Berechtigungen

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