View Full Version : NULL in CSV Datei
Hallo *all,
kopiere per CPYTOIMPF eine AS400 Datei in eine CSV Datei. Die Felder, die den Inhalt BLANKS auf der AS400 haben, werden auch als BLANKS kopiert. Nun würde ich aber gerne bei diesen Feldern den NULL Inhalt, also keine BLANKS, generieren. Die Feldtrennzeichen sollen direkt hintereinander stehen. Gibt es da eine Möglichkeit ??
hallo alex,
wie wärs mit einem kleinen bereitstellungsprogramm, daß die relevanten *Blanks-Felder zuerst mit NULL belegt (SQL oder RPG). Das Pgm. erstellt eine temp. Arbeitsdatei mit NULL-Feldern, diese Datei wird anschließend beim CPYTOIMPF verwendet.
Gruss
Frank
Hallo Rukober,
wie kann ich denn die Felder per RPG mit dem NULL Wert versehen ???
Hi alex,
im RPG 3
move '000000' feld2
oder
movel'000000' feld2
writedateifm bzw updatdateifm
Für alle Fälle umwandeln mit dezimalfehler *yes
Gruss Thomas
Hallo Alex,
du benötigst erstens eine Datei, in der die Felder im DDS mit ALWNULL definiert sind.
(Alternativ kann die Datei auch mit SQL erstellt werden mit Nullwerte zulässig)
Beispiel DDS:
A____________NFKND__________9A_________ALWNULL
Im RPG benötigtst Du in den H-Bestimmungen das Schlüssel-Wort ALWNULL(*USRCTL).
Bei dem Feld, in das Nullwerte geschrieben werden soll, setzt du einfach die Built-in-Function %NULLIND(Feld) auf *OFF:
Beispiel RPG:
H ALWNULL(*USRCTL)
/Free
if NFKND = *Blanks;
%Nullind(NFKND) = *ON;
endif;
/End-Free
Ich würde allerdings embedded SQL vorziehen:
(Auch die Ausgabe-Felder bei der OutFile müssen Null-Werte zulassen)
Beispiel:
c/Exec SQL
C+ INSERT INTO OutFile
C+ SELECT nullif(:NLFELD1, ' '),
C+ nullif(:NLFELD2, 0)
C+ FROM InFile
C/End-Exec
Birgitta
Vielen Dank für die Tipps. Werde sie gleich mal austesten.