Hot Tip – FTP mit sich selbst: Ein simpler Trick

11. November 2008 | Von | Kategorie: Tools, Hot-Tips

Ein Internet-Artikel der NEWSolutions – Man muss nicht unbedingt APIs benutzen, um den Inhalt eines IFS-Verzeichnisses in ein Programm einzulesen.

von Mel Beckman

Untertitel

Man muss nicht unbedingt APIs benutzen, um den Inhalt eines IFS-Verzeichnisses in ein Programm einzulesen

Es ist gar nicht so einfach, ein IFS-Verzeichnis in ein Programm einzulesen. Es gibt zwar APIs , die man von RPG- oder C-Programmen aus aufrufen kann, aber die API-Aufrufe führen zu sehr viel zusätzlichem Code, wenn Sie nichts weiter benötigen als eine schnelle Auflistung der Dateien in einem IFS-Verzeichnis. Deshalb zeige ich Ihnen hier eine „Quick-and-Dirty“-Methode zum Erstellen einer Liste in einem CL-Programm mit Hilfe von FTP.

Der Trick basiert darauf, dass das CL-Programm mit FTP auf dieselbe Maschine zugreift, auf der es selbst läuft, und mit dem FTP-Befehl dir die gewünschte Liste erzeugt. Unter OS/400 ist es möglich, die Verzeichnisliste in eine physische Datei umzuleiten.


PGM
OVRDBF FILE(INPUT) TOFILE(MYLIB/QCLSRC) MBR(FTPSCRIPT)
CHGCURLIB MYLIB
FTP RMTSYS(SYSxxx)
ENDPGM

Abbildung 1: CL-Programm zum Auflisten von IFS-Verzeichnissen über FTP

Abbildung 1 zeigt ein CL-Programm, das diese Aufgabe ausführt. Der erste Schritt ist, die Datei „INPUT“ so zu überschreiben, dass sie auf eine Quellenteildatei zeigt, die die auszuführenden FTP-Anweisungen enthält. Ein Beispiel für eine solche Datei ist in Abbildung 2 dargestellt. Im nächsten Schritt wird die Bibliothek, die die Ausgabedatei aufnehmen soll, als aktuelle Bibliothek festgelegt. Das kann jede Bibliothek sein, für die das CL-Programm Schreibberechtigung besitzt, außer QTEMP. Als letzter Schritt wird FTP mit der Zieladresse 127.0.0.1 aufgerufen. Dabei handelt es sich um eine spezielle Adresse, die sogenannte Loopback-Adresse, die immer auf das System verweist, auf dem ein TCP/IP-Programm läuft. Diese Adresse gehört zum FTP-Standard und gilt auf allen TCP/IP-Plattformen. 

Schlagworte: , , , , , , , , , , , , , , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.