PDA

View Full Version : CPYFRMIMPF V5R4



Karo
26-02-08, 11:15
Hallo,

seit wir das Release V5R4 installiert haben, funktioniert mein
CPYFRMIPF-Befehl nicht mehr.

In der AS400 kommen nur noch unsinnige Zeichen an.
CPYFRMIMPF +
FROMSTMF('HOME/TRANSFER/LIB/LFILE.DAT +
TOFILE(LIB/FILE) +
MBROPT(*REPLACE) RCDDLM(*CRLF) +
STRDLM(*NONE) RMVBLANK(*NONE)

Vorher hat dies problemlos funktioniert. Die Datei ist ohne Trennzeichen. Bei einer Datei mit Semikolon als Trennzeichen funktioniert es. Aber diese eine Datei habe ich leider nur ohne Trennzeichen.
Habt ihr einen Hinweis für mich? Ergänzung eines Parameters o.dgl.?

Danke.

Gruß, Karo

TARASIK
26-02-08, 11:35
Hallo Karo,
aus dem Memo to User R540:

3.52.23 Changes to the Copy From Import File (CPYFRMIMPF) and Copy To
Import File (CPYTOIMPF) commands

In previous releases, string escape character processing did not exist.

In V5R4, this functionality is being introduced with the String escape
character (STRESCCHR) parameter on the Copy From Import File
(CPYFRMIMPF) and Copy To Import File (CPYTOIMPF) commands. Exported data
will be affected by the character specified as the escape character
following each string delimiter that is part of the field data. For
imported data, string escape character processing will remove this
character when the string delimiter is found inside the field data
following this.

When the character specified as the escape character and the string
delimiter are different, the escape character inside the field data will
be followed by another escape character when exporting data, and will be
removed during the import.

Karo
26-02-08, 11:54
Hallo Tarasik,

danke für deine schnelle Antwort.
Leider komme ich damit nicht so recht weiter. ;-(
Habe den Parameter zwar auf *NONE gesetzt, allerdings mit demselben Endergebnis.

TARASIK
26-02-08, 12:27
Hallo Karo,
sorry, dass war auch das falsche Dokument. Welches Release hattest Du denn zuvor ?

Karo
26-02-08, 12:30
Hallo Tarasik,

wir hatten zuvor V5R2.

Gruß, Karo

TARASIK
26-02-08, 12:55
Hallo Karo,
mit dem R530 hatte sich der cpyfrmimpf bereits geändert. Siehe
den Apar II13784.
IBM - II13784 - CPYFRMIMPF CPYTOIMPF CHANGES (http://www-1.ibm.com/support/docview.wss?rs=0&dc=DB550&dc=D100&q1=II13784&uid=nas20cd39ad7f981e5bc86256e5400420e53&loc=en_US&cs=UTF-8&lang=all)

Du könntest aber auch kurzzeitig dies machen:

Important Information
Review the Memo To Users for important changes to the CPYFRMIMPF command. Also review information APAR II13784.

If your applications use the CPYFRMIMPF command and you did not have time to make required changes to comply with the Memo To Users, consider using the following circumvention. Run the following IBM® i5/OS™ command:

CRTDTAARA DTAARA(QSYS/QCPFRMIMPF) TYPE(*CHAR) LEN(6) VALUE('CPV5R2')

This data area will return the CPYFRMIMPF command to V5R2M0 behavior . The data area, therefore, changes the following V5R3M0 parameters:


o
RMVBLANKS (*LEADING or *BOTH) will be changed to *TRAILING default.
o
FROMFILE or TOFILE or FDFFILE or ERRFILE Member(*ALL) or (TOFILE Member(*FROMMBR)) will be changed to Member (*FIRST) default.
This data area does not influence the behavior of the CPYTOIMPF command.

If your applications use the CPYTOIMPF command and you temporarily need to revert to V5R2M0 behavior, run the following i5/OS command:

CRTDTAARA DTAARA(QSYS/QCPTOIMPF) TYPE(*CHAR) LEN(6) VALUE('CPV5R2')

Karo
26-02-08, 13:21
Hallo Tarasik,

mit Erstellung des DTAARA hat die Übertragung funktioniert. Allerdings übernimmt er mir die Umlaute nicht korrekt. ;-(

Gruß, Karo

TARASIK
26-02-08, 13:41
Hallo Karo,
es gibt noch den Parameter Ausgangs- bzw. Zielccsid, den solltest Du noch beachten.

Sven Schneider
26-02-08, 18:19
Ich würde den Fix mit der DTAARA QSYS/QCPTOIMPF aber nicht (langfristig) empfehlen.
Zumindest nicht dann, wenn du Zugriff auf die Programm-Sourcen hast.
Ändere die from/to CCSID entsprechend ab und der CMD sollte funktionieren. Schau dir dazu insbesondere die CCSID der STMF im IFS an.

Mit V5R4 wurden die CMD CPYxxxIMPF massiv umgestellt.
Die CMD's sind wesentlich stabiler und performanter.
Es werden auch keine temp. Tabelle mehr erzeugt und die Behandlung von unterschiedlichen CCSID ist sauberer gelöst.