-
Warum machst Du keinen %Lookup auf ARR?
Da hast Du doch alle Felder in Reihe und kannst selektieren.
Birgitta
-
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
-
%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.
-
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
-
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);
-
wollte nur wissen obs da evtl nen trick 17 gibt
-
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
-
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.
Similar Threads
-
By AK1 in forum NEWSboard Server & Hardware Markt
Antworten: 11
Letzter Beitrag: 08-02-14, 19:24
-
By XMan in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 08-01-14, 19:51
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 25-12-13, 15:15
-
By Charly_t in forum NEWSboard Server & Hardware Markt
Antworten: 1
Letzter Beitrag: 04-01-02, 14:34
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks