[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2004
    Beiträge
    327

    CPYTOIMPF erzeugt Datensätze in falscher Reihenfolge

    Hallo Zusammen,
    wir hatten ein ganz seltsames Phänomen.
    Die Datensätze stehen in falscher Reihenfolge in der IFS Datei.


    CPYTOIMPF FROMFILE(EVRWRKP)
    TOSTMF('/SPAREPARTS/DISTRIB/MSC/IVV/DEALER/DLR_00_001412_20220430.CSV')
    MBROPT(*REPLACE) STMFCODPAG(*PCASCII) RCDDLM(*CRLF) DTAFMT(*DLM)
    STRDLM(*NONE) STRESCCHR(*NONE) RMVBLANK(*BOTH) FLDDLM(';')

    Ich habe mir das Journal der Basis Datei angeschaut, hier stimmt alles.
    Im Joblog ist nichts zu erkennen.

    Beispiel:
    So steht es im Journal der Basidatei
    "date of issue";"sequ...
    22/04/30;"001412";"";
    22/04/30;"001412";"";
    22/04/30;"001412";"";
    22/04/30;"001412";"";

    Output IFS
    22/04/30;"001412";"";
    22/04/30;"001412";"";
    "date of issue";"sequ...
    22/04/30;"001412";"";
    22/04/30;"001412";"";

    Das ist bei 23 von 50 File Transfers passiert.
    Heute Nacht lief alles wieder sauber durch.

    Ich habe echt keine Idee was hier passiert sein soll, zumal der Ablauf schon gefühlte hundert Jahre ohne Probleme läuft.

    Danke schon mal.

    Gruß Klaus

  2. #2
    Registriert seit
    Jan 2003
    Beiträge
    746

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    CPYTOIMPF liest die Quelle nach Satzfolge der Tabelle, eine Sortierung ist da nicht vorgesehen.
    Bei einer SQL-Table steht REUSEDLT immer auf *YES und kann auch nicht geändert werden.
    Allerdings ist die Sortierung einer CSV-Datei i.d.R. nicht erforderlich.

    Wenn du eine Sortierung benötgst kannst du einen RUNSQL "create table as select..." mit der nötigen Sortierfolge vorher laufen lassen und aus der sortierten Tabelle exportieren.
    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

  4. #4
    Registriert seit
    Sep 2004
    Beiträge
    327
    Zitat Zitat von Fuerchau Beitrag anzeigen
    CPYTOIMPF liest die Quelle nach Satzfolge der Tabelle, eine Sortierung ist da nicht vorgesehen.
    Bei einer SQL-Table steht REUSEDLT immer auf *YES und kann auch nicht geändert werden.
    Allerdings ist die Sortierung einer CSV-Datei i.d.R. nicht erforderlich.

    Wenn du eine Sortierung benötgst kannst du einen RUNSQL "create table as select..." mit der nötigen Sortierfolge vorher laufen lassen und aus der sortierten Tabelle exportieren.
    Reusedlt sitzt auf *NO.
    Lt. Journal passt ja die Satzreihenfolge, aber irgendwie hat es nicht gepasst. Der Header zum Beispiel war in den 23 Dateien ganz sporadisch immer wo anders.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Wenn du von den betroffenen Dateien einen einfachen Select machst, sollte die Satztfolge verwendet werden, falls nicht kannst du auch einen "order by rrn(tabelle)" verwenden.
    Es kann durchaus auch ein Erstellungsproblem im Programm sein, dass der "Header" eben erst nach den "Positionen" geschrieben wurde.
    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

  6. #6
    Registriert seit
    Sep 2004
    Beiträge
    327
    Der Header wurde definitiv als erstes geschrieben.
    Im CPYTOIMPF gibt es den Parameter ORDERBY *ARRIVAL.
    Aktuell haben wir ORDERBY *NONE.
    Soll ich den auf *ARRIVAL ändern oder gibt es dann eventuell andere Probleme?

    Eventuell greift bei *NONE der optimizer and da wissen wir ja was der kann.

    Gruß

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Nunj, kommt drauf an ob die Table einen Key enthält.
    Es wird immerhin SQL verwendet, und da könnte die Sortierung nach Schlüssel vorrangig sein.
    *ARRIVAL ist theoretisch die Eingangsfolge, sprich RRN:
    "The records will be inserted in the order they were inserted into the from file."
    Bei einer Temporal-Tabelle könnte die Entstehung tatsächlich gemeint sein.

    Wenn deine Tabelle aber einen sortierfähigen Schlüssel hat, solltest du besser sortiert arbeiten, was ja nun auch ohne kopieren geht.

    Mach doch mal einen "select * from table order by rrn(table)" obs passt.
    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

Similar Threads

  1. falscher Overflow
    By mahones in forum NEWSboard Drucker
    Antworten: 7
    Letzter Beitrag: 13-02-19, 15:56
  2. Datensatzfortschreibung in falscher Reihenfolge
    By M.Heger in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 16-09-16, 10:43
  3. CRTSQLRPGI erzeugt 2 Wandlungsllisten
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 04-07-14, 12:20
  4. C6003962 nach falscher Ptfinstallation
    By TARASIK in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 17-04-14, 11:23
  5. CPYSPLF als pdf mit falscher CCSID
    By Moonwalker in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 14-11-13, 13:01

Tags for this Thread

Berechtigungen

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