[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2004
    Beiträge
    13

    Ablösung CPYTOPCD durch CPYTOIMPF

    Hallo,

    wir wollen den Befehl CPYTOPCD durch CPYTOIMPF ersetzen.
    Die Umsetzung der Daten funktioniert so weit ganz gut.
    Nur das Ausgabeergebnis ist leider nicht so, wie gewünscht.

    Bei CPYTOPCD werden die Felder direkt aneinander "aufgereiht"
    und bei Zahlenfeldern werden diese auch mit Nullen aufgefüllt.
    Bsp. "001TESTNAME 00008,49KG"

    Bei CPYTOIMPF habe ich eine Art Tab-Sprung nach jedem Feld
    und die Zahlenfelder erhalten keine "führenden" Nullen
    Bsp. "1 TESTNAME 8,49 KG"

    Kann man diesen "Tab-Sprung" unterbinden? Die Befehlszeichenfolge ist:
    CPYTOIMPF FROMFILE(FILE)
    TOSTMF('\test\file.txt')
    MBROPT(*REPLACE)
    STMFCODPAG(819)
    RCDDLM(*CRLF)
    DTAFMT(*FIXED)
    STRDLM(*NONE)
    DECPNT(*COMMA)

    Danke!

  2. #2
    Registriert seit
    Jun 2004
    Beiträge
    26
    Hallo,

    ich kann auf die Schnelle nur eine mögliche Alternative anbieten.

    Anscheinend soll ja das Ergebnis ebenfalls eine feste Datenbreite haben und die Felder jeweils die Ausgangslänge beibehalten, womit die Funktionen vom CPYTOIMPF nicht zwingend erforderlich sind. Wenn also ein Zwischenschritt eingebaut werden könnte, würde ich diesenfalls mit dem Befehl CPYTOSTMF arbeiten. Dazu müsste allerdings die Ausgangsdatei zuvor (mit CPYF FMTOPT(*NOCHK)) in eine (temporäre) Datei kopiert werden, welche mit CRTPF (ohne DDS) erstellt wurde.

    Dann sähe das in etwa so aus:
    CRTPF FILE(QTEMP/XYZ) RCDLEN(1024) 'oder breiter
    CPYF FROMFILE(FILE) TOFILE(QTEMP/XYZ) FMTOPT(*NOCHK)
    CPYTOSTMF FROMMBR('qsys.lib/qtemp.lib/xyz.file/xyz.mbr') TOSTMF('/test/file.txt') STMFOPT(*REPLACE) STMFCODPAG(819)

    Gut, was die Codepage angeht, weiß ich nicht Bescheid, da benutzen wir sonst immer *PCASCII. Weiterhin dürfte es auch nicht funktionieren, wenn Ausgangsfelder packed oder binär sind. Aber da es bei CPYTOPCD vorher auch geklappt hat, sollte das kein Problem sein.

    Ohne Gewähr, ist vielleicht etwas zum rumspielen...

    Gruß, Dufti

  3. #3
    Registriert seit
    Jan 2004
    Beiträge
    13
    @Dufti

    Danke! Der Umweg über die temporäre Datei hat funktioniert.
    Trotzdem wäre eine direkte Lösung vorteilhafter.

Similar Threads

  1. cpytoimpf die ...
    By malzusrex in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 14-12-06, 17:20
  2. CPYTOIMPF - Leerzeichen am Ende?
    By mott in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 09-10-06, 11:28
  3. CPYTOIMPF Format
    By Muchi in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 03-08-06, 09:41
  4. CPYTOIMPF Ergebnis nicht lesbar
    By SUBUIS in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 09-05-06, 09:36
  5. CPYTOIMPF und CCSID
    By Muchi in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 21-04-06, 13:54

Berechtigungen

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