[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2005
    Beiträge
    103

    Datensätze werden erst nach *INLR geschrieben

    Hallo zusammen,

    in einem RPG-Programm werden Datensätze in Schleife via WRITE-Befehl in eine Ausgabedatei geschrieben.

    Nach erfolgreichem Schreiben weißt eine Nachricht in der DSPF den Benutzer darauf hin, dass er die erzeugten Daten in Excel importieren kann.
    Nun ist aufgefallen, dass die Datei VOR verlassen des Programms (*INLR) weniger Datensätze beinhaltet, als nach Beenden des Programms.

    Habe dies per strdbg auch nachvollziehen können: Breakpoint auf "MOVE *ON *INLR" VOR Ausführung des Statements: 4.956 Datensätze; NACH Ausführung des Statements: 4.961 Datensätze.

    Stellt sich also die Frage: Was passiert da noch nachdem *INLR auf *ON gesetzt wird?

    Art des Programms ist SQLRPG. Habe es jedoch auch schon testweise um die SQL-Statements erleichtert und als RPG umgewandelt und getestet. Gleiches Ergebnis.

    Freundliche Grüße,
    Tobias

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    In der Umwandlungsliste findest du einen Hinweis, dass die Datei geblockt geschrieben wird.
    D.h., erst beim Close der Datei wird der letzte Puffer ausgegeben.
    Bei z.B. Systemanfrage 2 erfolgt dies nicht!

    Verhindern kannst du das z.B. mit UsrOpn (UC) und eigenen Open/Close oder als UF-Datei (fehlende IO-Befehle, die der Compiler anmeckert kann man ja in eine Pseudo-Routine legen).

    Man kann auch irgendwo einstellen, dass nicht geblockt verarbeitet werden soll.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jan 2003
    Beiträge
    759
    FEOD hilft auch (Force End Of Data)

  4. #4
    Registriert seit
    May 2005
    Beiträge
    103
    Vielen Dank für die Antworten.

    Habe mich für die UF-Variante mit Pseudo-READ entschieden, et voilà...

    VIELEN DANK

  5. #5
    Registriert seit
    Nov 2003
    Beiträge
    2.403

Similar Threads

  1. Datensätze blockweise auslesen
    By Easyrider in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 20-06-08, 06:32
  2. sql Anzahl Datensätze in Zweit-Datei
    By rr2001 in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 13-12-06, 14:04
  3. Anzahl gelöschter Datensätze in PF
    By Der_Unwissende in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 20-10-06, 08:32
  4. Datensätze in DB mittels VB einfügen
    By Toschie in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 21-06-06, 11:53
  5. PF anzahl der Datensätze anzeigen
    By linguin in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 10-08-05, 13:12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •