Anmelden

View Full Version : CPYFRMIMPF



ILEMax
07-11-18, 12:13
Hallo *all
ich möchte mit


CPYFRMIMPF FROMSTMF('/qntc/XXX01/FILE-XXX/Edv/_vonAS400_tmp/XX_temp/DMA_RNA_20181105_171403.csv')
TOFILE(QTEMP/DMARETP) RCDDLM(*CRLF) STRDLM(*NONE) FLDDLM(';') FROMRCD(2)
eine CSV Datei einlesen.
Der Befehl bricht ab, im Joblog steht


Numerischer Wert für Parameter RCDLEN ist nicht gültig.
Fehler in Befehl CRTSRCPF gefunden.
Wegen eines Fehlers Kopierbefehl beendet.


Wieso RCDLEN
und was für ein CRTSRCPF?
Der CPF2817 kommt von

Von Programm . . . . . . . . . : QCPIMPRT
Von Bibliothek . . . . . . . : QSYS
Von Modul . . . . . . . . . : QCPIMPRT
Von Prozedur . . . . . . . . : Send_type_msg2
Von Anweisung . . . . . . . : 21

An Programm . . . . . . . . . : QUOCMD
An Bibliothek . . . . . . . : QSYS
Instruktion . . . . . . . . : 012D


Hier laufen gefühlt 100 CPYFRMIMPF alle irgendwie ähnlich.
Was ist der Ansatz, um diesen Fehler zu finden?

Danke
der ILEMax

malzusrex
07-11-18, 12:35
Ist bei dir im Parameter ERRRCDFILE default mäßig eine Datei angegeben wo er die Fehlerhaften Sätze bunkern soll, welche er nicht verarbeiten kann?

Gruß
Ronald

ILEMax
07-11-18, 12:36
Nein,
solch eine Fehlerdatei haben wir nicht.
Wie muß die aussehen?
einfach eine PF mit satzlänge 1024 will er nicht

malzusrex
07-11-18, 12:43
mit crtsrcpf
RCDLEN sollte mindestens die Größe der maximalen Länge des Ausgangssatzes haben.

Wenn die Fehlerdatei angegeben ist, schreibt er beim Kopieren die Sätze darein, die er nicht richtig verarbeiten kann.

ILEMax
07-11-18, 12:51
Hat nicht geklappt, die Datei ist leer

Was etwas ungewähnlich ist ...
Diese Schnittstelle hat eine SL von 32.680 Zeichen
die CSV zusätzlich 189 für die ;

ist das zuviel?

malzusrex
07-11-18, 12:58
Denke schon,
wenn er die fehlerhaften Sätze in eine SRCPF schreibt, wird er wohl die ganze Datei auch in einer SRCPF zwischen bunkern.
Und die max. Satzlänge ist da 32766 Byte

ILEMax
07-11-18, 13:17
Ok, das wars!
habe einige Felder verkleinert, da die eh nie komplett gefüllt sind.
Satzlänge als Satzlänge des PF + Anzahlfelder - 1 (die ; in der CSV Datei) + 2 (CR / LF) < 32766
und nun geht es.

Der interne Zwischenschritt mit der PF-SRC war mir nicht klar.

Danke!

der ILEMax