-
Probleme mit lookup und Tabellen
Hallo zusammen,
ich habe eine ganz komische Situation hier.
PHP-Code:
d Tab1 s 11 dim(30) ctdata perrcd(1) d Tab2 s 10 dim(30) alt(Tab1)
Bei der Anweisung
PHP-Code:
c A_FirmaLoa lookup Tab1 Tab2 80
geht zwar die 80 an, aber Tab2 wird nicht gefüllt. Aber komischerweise nicht bei allen, sondern bisher nur bei einem bestimmten Eintrag.
Ein Schleifendurchgang vorher hat er den Eintrag "4010201 304" gefunden und korrekt "311 02500" in TAB2 stehen. Beim nächsten Schleifendurchgang hat er den Eintrag "4010201 317" auch gefunden, aber TAB2 ist blanks obwohl "314 05000" drin stehen müsste.
Ich habe mir die entsprechenden Anweisungen aus der Quelle kopiert und ein eigenständiges Programm daraus gemacht. Da hat er dann keine Probleme.
Inzwischen habe ich schon alles mögliche probiert und habe letztendlich den ersten Tabelleneintrag "Konstant" gesucht und anschließend erst den variablen Tabelleneintrag. Jetzt ist auf einmal auch TAB2 gefüllt. Ich kapier es nicht. Kann mir dafür jemand einen Grund nennen ?
Die Suche bei der es jetzt funktioniert sieht wie folgt aus:
PHP-Code:
c '4010201 218'lookup Tab1 Tab2 80 c A_FirmaLoa lookup Tab1 Tab2 80
Die Tabelleneinträge sehen wie folgt aus
PHP-Code:
4010201 218 402 4010201 605 410 4010201 600 415 4010201 612 419 4010201 283 538 4010201 034 407 4010201 402 731 4010201 300 201 4010201 302 310 02500 4010201 304 311 02500 4010201 317 314 05000 4010201 337 319 10000 4010201 328 214 4010201 404 424 4010201 627 421 4010202 218 402 4010202 605 410 4010202 600 415 4010202 612 419 4010202 283 537 4010202 034 407 4010202 402 731 4010202 300 201 4010202 302 310 02500 4010202 304 311 02500 4010202 317 314 05000 4010202 337 319 10000 4010202 328 214 4010202 404 424 4010202 627 421
-
schau dir den Dateiwert in Hex an. Da könnte mist drin stehen
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Yupp hab ich. Wie aber bereits oben beschrieben. Die Bezugszahl für gefunden geht an. Nur der Wert in TAB2 ist blanks
-
Dann hast du den Fehler wohl nicht mitkopiert. ;-)
Zitat von harkne
Ich habe mir die entsprechenden Anweisungen aus der Quelle kopiert und ein eigenständiges Programm daraus gemacht. Da hat er dann keine Probleme.
-
Wir haben das Problem jetzt IBM gemeldet. Er kann das mit den vorhandenen Daten nachvollziehen, also er bekommt zum Glück auch den Fehler hat aber auch noch keine Lösung an was es liegt.
Es muss auch eine komische Konstellation sein, die den Fehler verursacht, denn wie gesagt, die Bezugszahl des LOOKUP zeigt ja an das er den String in TAB1 gefunden hat nur bleibt der Wert in TAB2 leer obwohl ein Wert drin steht.
-
Ich hätte vielleicht 3 Zeilen mehr Code hier posten sollen, dann wäre die Watschn schon früh genug gekommen.
Im Programm kommt nach
PHP-Code:
c A_FirmaLoa lookup Tab1 Tab2 80
noch die Abfrage ob Tab1 gefunden wurde und wenn nicht gefunden wurde "move *blanks" nach TAB2. Wie wir von IBM erfahren haben wird dann aber *blanks in das letzte gefundende TAB2 Element gestellt und somit, wenn wieder nach dem gleichen TAB1 gesucht wird wie zuvor, steht dann halt blanks drin. Deshalb hat er auch gefunden aber *blanks als Ergebnis geliefert.
Ich dachte aber nicht dass der Compiler überhaupt zulässt dass ich Tabellenelemente die unten konstant angegeben wurden, geändert werden können.
Naja ... wieder etwas schlauer.
Entschuldigung dass ich Euch mit fehlenden Anweisungen in die Irre geführt habe.
Einen schönen Wochenstart an alle.
Viele Grüße Harkne
-
Du kannst keine konstante Tabelle definieren.
Was du da definierst ist eine Tabelle, die zum Startzeitpunkt deines Programmes in die definierte Tabelle geladen wird, dies entspricht einer INZ-Anweisung auf Feldebene.
Nur wenn man eine Variable mit INZ initialisiert verhindert dies ja nicht das Überschreiben, das wäre ja doch ziemlich fatal.
-
OK. Ich dachte CTDATA heißt constant data ... habe gerade nachgeschaut. Heißt dann doch wohl COMPILE TIME data.
Similar Threads
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 23-02-17, 10:45
-
By muadeep in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 13-10-15, 09:50
-
By JEsser in forum NEWSboard Server Software
Antworten: 0
Letzter Beitrag: 17-11-14, 18:28
-
By harbir in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 12-03-14, 15:34
-
By Gimli in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 31-03-03, 10:10
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