PDA

View Full Version : QSH Ausgabe einer CSV Datei in eine DATAQ



iseries_user
21-09-12, 09:21
Hallo zusammen,

ich habe auf der AS/400 ein IFS Verzeichnis, in dem in unregelmäßigen abständen CSV Dateien mit unterschiedlichen Namen geschrieben werden.

Ich möchte nun den Inhalt dieser csv Datei in eine Dataq schreiben.

Diese Datensätze sollen von einem RPG Programm verarbeitet werden.

Ich würde nun gerne über QSH die CSV Datei auslesen und den Inhalt in die Dataq schreiben.

Zum schreiben in die Dataq nutze ich folgenden befehl:
dataq -w /qsys.lib/MyLib.lib/MyDataQ.dtaq

Zum Auslesen meiner CSV Datei nutze ich diesen Befehl:
find . -name '*.csv' -exec pr -t {} \;

Meine Frage wäre nun, wie ich die beiden Befehle so verbinde, dass ich die Ausgabe des find/print in die DataQ geschrieben wird.


Vielen Dank für eure hilfe

Mit freundlichen Grüßen
iseries_user

iseries_user
21-09-12, 09:37
Hallo zusammen,

habe es gerade herausgefunden.

ich muss die beiden Befehle mit einer | trennen:

find . -name '*.csv' -exec pr -t {} \;| dataq -w /qsys.lib/mylib.lib/MyDataq.dtaq


Danke und Gruß
Iseries_user

Fuerchau
21-09-12, 09:41
Warum so kompliziert?
Dann musst du die CSV's ja selber trennen.
Ich mache da einfach einen "ls *.csv > qsys.lib/mylib.lib/myfile.file/myfile.mbr" und importiere dann per CLP die Dateien mittels CPYTOIMPF.

iseries_user
21-09-12, 09:49
Hallo,

Die Idee hatte ich zuerst auch.

In der Datei steht unter anderem eine Kundennummer, für die ein kennzeichen im kundenstamm gesetzt werden soll.
Es kann aber sein, dass der Kunde noch nicht existiert. In diesem Fall soll immer weider geschaut werden, ob der Kunde vorhanden ist.

Viele Grüße

Fuerchau
21-09-12, 12:42
Das mag ja alles sein, die Verarbeitung ist aber einfacher, da der CPYTOIMPF die Feldtrennung erledigt und ich im Programm dann ein festes Format habe.
Die Verarbeitung erfolgt dann eben nicht aus der CSV-Datei sondern aus der importierten bereits richtig formatierten Datei.

ideel
21-09-12, 14:53
@Fuerchau, danke für deine Abkürzung...ich hatte ein ähnlcihes Problem, und mit deiner "Anleitung" gings fix