[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    Warum machst Du keinen %Lookup auf ARR?
    Da hast Du doch alle Felder in Reihe und kannst selektieren.

    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

  2. #2
    Registriert seit
    Nov 2007
    Beiträge
    371
    wie meinst du das ?

    ich kann doch nur schreiben
    e1 = %lookup (hans : datentruktur.feld1 )
    if e1 <> zeros
    e2 = %lookup (busch : datentruktur.feld2 )
    if e2 <> *zeros and e2 = e1
    e3 = %lookup (strasse : datentruktur.feld3 )
    usw usw



    ich würde aber gerne alle drei felder gleichzeitig suchen .

    viele grüsse

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.748
    %lookup ist nicht schneller als eine eigene Schleife, nur hlat komfortabler.
    Sortierte Tabellen gehen schneller da hier Binärsuche (hoffentlich) verwendet wird.

    Solange du nach dem gesamten Begriff suchst, kannst du natürlich auf "ARR" suchen:
    %lookup(Suchfeld:Arr)
    Das Suchfeld muss natürlich entsprechend dem ARR definiert und belegt werden.

    Wenn du nur Feld1 und Feld3 suchen willst, kommst du um eine Schleife nicht herum.
    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

  4. #4
    Registriert seit
    Nov 2007
    Beiträge
    371
    hallo furechau ,
    hab mich evtl falsch ausgedruckt.

    ich würde gerne so suchen lookup( hans , busch, strasse : feld1 : feld2 : feld 3 )
    das geht natürlich nicht . habs jetzt nur mal so zum besseren verständnis geschrieben

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.748
    Da du ja weißt, dass das nicht geht, verstehe ich dein Problem nicht:

    d Suchfeld ds
    d F1 10
    d f2 20
    d f3 10

    f1 = hans; f2 = busch; f3 = Strasse;
    lookup(Suchfeld:Arr);
    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
    Nov 2007
    Beiträge
    371
    wollte nur wissen obs da evtl nen trick 17 gibt

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    So wie Du die Datenstruktur definiert hast, kannst Du ein 40A Vergleichsfeld füllen und dann mit diesem den %LOOKUP auf das Array ARR machen:
    Code:
    D DSVergl           DS                   Qualified
    D    Feld1                        10A     
    D    Feld2                        20A
    D    Feld3                        10A  
     /Free
        DSVergl.Feld1 = 'Hans';
        DSVergl.Feld2 = 'Busch';
        DSVergl.Feld3 = 'Strasse';
    
        Pos = %LookUp(DSVergl: Datenstruktur.Arr);
    Sofern POS = 3 wäre, würde in Datenstruktur.Feld1(3) Hans stehen in Datenstruktur.Feld2(3) Busch und in Datenstruktur.Feld3(3) Strasse.

    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.748
    Der Trick 17 ist: schreibe (vernünftigerweise) dafür eine Funktion:

    d Suchen pr 5i 0
    d F1 10 const
    d F2 20 const
    d F3 10 const

    Suchen(Hans:Busch:Strasse);

    p suchen b
    d Suchen pi 5i 0
    d F1 10 const
    d F2 20 const
    d F3 10 const

    return %lookup(F1 + F2 + F3:Arr);
    p suchen e

    Du kannst ja %lookup(hans + Busch + Strasse:Arr) direkt verwenden, allerdings sind die Begriffe dann genau mit Blanks aufzufüllen.
    Die Funktion sorgt aber dafür, dass die Feldlängen korrekt sind und somit der %lookup immer mit dem Begriff korrekt sucht.
    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

Similar Threads

  1. Suche AS/400
    By AK1 in forum NEWSboard Server & Hardware Markt
    Antworten: 11
    Letzter Beitrag: 08-02-14, 19:24
  2. STRDBG und Datenstruktur
    By XMan in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 08-01-14, 19:51
  3. Array mit Sql befüllen
    By tarkusch in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 25-12-13, 15:15
  4. Suche kleine AS/400
    By Charly_t in forum NEWSboard Server & Hardware Markt
    Antworten: 1
    Letzter Beitrag: 04-01-02, 14:34
  5. Suche 10 x 6813 ( 8,58 GB )
    By benny in forum NEWSboard Server & Hardware Markt
    Antworten: 4
    Letzter Beitrag: 06-02-01, 15:34

Berechtigungen

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