-
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.
-
moin moin,
versuche es mal mit
Code:
d iln s 13s 0 dim(5) perrcd(1) ctdata
gruß ronald
-
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 ?
-
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.]
-
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.]
-
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
-
D A N K E !!
Das hat geholfen :-)
Similar Threads
-
By timeless in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 11-01-07, 12:04
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 10-01-07, 10:58
-
By e_sichert in forum IBM i Hauptforum
Antworten: 21
Letzter Beitrag: 28-11-06, 19:43
-
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
-
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