[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2019
    Beiträge
    42

    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

  2. #2
    Registriert seit
    Dec 2014
    Beiträge
    275
    das kommt wohl, weil eben kein CPF0864 vom System kommt.
    Die Abfrage ändern auf "CPF0000" und gut iss'es

  3. #3
    Registriert seit
    Aug 2019
    Beiträge
    42
    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 ?

  4. #4
    Registriert seit
    Jan 2007
    Beiträge
    645
    Kann es sein, dass der Loop gar nicht die Ursache ist, sondern das Testprogramm?
    Grundsätzlich sollte die Logik so schon funktionieren.
    kf

  5. #5
    Registriert seit
    Aug 2019
    Beiträge
    42
    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.

  6. #6
    Registriert seit
    Jan 2007
    Beiträge
    645
    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

  7. #7
    Registriert seit
    Aug 2019
    Beiträge
    42
    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 ?

  8. #8
    Registriert seit
    Jan 2007
    Beiträge
    645
    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

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    18.670
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

  10. #10
    Registriert seit
    Aug 2019
    Beiträge
    42
    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 ! :-)

Ähnliche Themen

  1. SQL Update - Nur den ersten Satz ändern
    Von svente im Forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 22-08-18, 16:34
  2. Record compare
    Von wti im Forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 14-05-17, 14:08
  3. SQL - Alternative zu Insert meherer Datensätze in einer Schleife?
    Von Dominic K. im Forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 14-09-16, 17:16
  4. update der ersten 100 sätze
    Von dibe im Forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-03-15, 13:19
  5. RDi 9.1 hängt sich beim Debuggen weg
    Von dschroeder im Forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 20-06-14, 11:14

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •