Hier noch eine Alternative Möglichkeit via CL via QPASE-Umgebung:

QSH CMD('cd /tmp && ls | rfile -wQ lib/ifsdir')

Dieser Befehl listet alle Dateien aus dem IFS-Verzeichnis "tmp" in die AS/400 Datei IFSDIR in der Bibliothek LIB. Die AS/400 DB-Datei (sollte mindest. 128Byte lang sein) muss es schon geben.

Also das Verzeichnis /tmp und die Ausgabedatei nach belieben ändern, den QCMD-Aufruf in das Cobol/RPG (bei mir LANSA)-Programm einbauen und die Datei IFSDIR auslesen.

Ist das Verzeichnis leer, wird der Dateinhalt gelöscht. Eventuelle Unterverzeichnisse müssen überlesen werden.

Man könnte beim ls mit Filtern (z.B. ls *.TXT) arbeiten, dann gibt es aber einen Fehler, wenn nichts gefunden wird. Also wenn mit Filter dann im CL-Programm.


LG Rob