-
Schleife hängt beim ersten Record
Hallo Forum :-)
Die vorherigen Problematiken konnte ich nun dank eurer Hilfe lösen. Leider habe ich nun noch ein letztes Problem, welches ich auch schon ganz am Anfang hatte. Per RCVF durchlaufe ich eine Datenbank - Datei. Beim debuggen habe ich bemerkt, das hierbei leider eine Endlosschleife entsteht, da nie der nächste Record durchlaufen wird.
Code:
Loop: RCVF
MONMSG (CPF0864) EXEC (GOTO ENDE)
chgvar var(&pth) value(&VZ)
CALL PGM(TESTPGM) PARM(&PTH)
GOTO LOOP
-
das kommt wohl, weil eben kein CPF0864 vom System kommt.
Die Abfrage ändern auf "CPF0000" und gut iss'es
-
Ja genau aber daran wird doch auch ein CPF0000 nichts ändern oder ? CPF0864 ist ja EOF und der hängt ja beim RCVF beim ersten Record. Also er erreicht den Zustand EOF garnicht und bei CPF0000 wäre es doch trotzdem eine Endlosschleife ?
-
Kann es sein, dass der Loop gar nicht die Ursache ist, sondern das Testprogramm?
Grundsätzlich sollte die Logik so schon funktionieren.
kf
-
Ist ein Ansatz aber ich verstehe dann nicht ganz warum sich die Variable &PTH nicht ändert ?
Ich übergebe den Wert VZ der in der Datenbank - Datei steht an die Variable &PTH. Hierbei ändert sich trotz Schleife der Wert von der Variablen &PTH nicht. Es hängt im ersten Record fest.
-
Schau doch, was Du so raus bekommst:
Code:
PGM
DCL VAR(&PTH) TYPE(*CHAR) LEN(50)
DCLF FILE(yourFile)
READ:
RCVF
MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(ENDE))
CHGVAR VAR(&PTH) VALUE(&VZ)
SNDUSRMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA(&PTH) +
MSGTYPE(*INFO)
GOTO CMDLBL(READ)
ENDE:
ENDPGM
kf
-
Vielen Dank für die Hilfe :-) Also damit ich krieg ich schon mal alle Einträge meiner Datei angezeigt. Dann liegt es wohl doch am Programm ? Aber woran könnte es denn liegen ?
-
Ist ein bisschen wie Kaffeesatz lesen. Was machst du denn in deinem Programm?
Ruf es doch mal ohne den RCVF nur mit einem Parameter. Sonst Debug.
kf
-
Ich schließe mich dem Kaffeesatzlesen an:
Wenn du nur Teile deines Codes postest kann man nur raten, ob du überhaupt bis zum RCVF kommst.
-
Ich habe nun die Lösung. Blöder Fehler meinerseits :P
Die Variable im CL war 80 Zeichen lang. Der Parameter konnte 150 Zeichen aufnehmen. Als ich die Variable im CL angepasst hatte auf 150 Zeichen, hatte ich keine Probleme mehr bezüglich des RCVF.
Vielen Dank für die Hilfe ! :-)
Similar Threads
-
By svente in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 22-08-18, 16:34
-
By wti in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 14-05-17, 14:08
-
By Dominic K. in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 14-09-16, 17:16
-
By dibe in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 18-03-15, 13:19
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 20-06-14, 11:14
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