View Full Version : Typ eines IFS-Root-Objektes ermitteln
Hallo *All,
gibt es eine andere Möglichkeit den Typ bzw. die Art eines Objektes (DIR, File usw.) im IFS zu ermitteln als mit DSPLNK und Ausgabe mit *PRINT und copy in PF
vielen Dank im voraus.
Am einfachsten ist hier
CHKOUT
Wenn es ein Verzeichnis ist, gibts eine CPFA0DA.
Wenn das Objekt nicht da ist, gibts CPFA0A9.
Ansonsten ggf. andere Meldungen wegen Berechtigung.
Klappt der CHKOUT, wars eine Datei.
Anschließend CHKIN zum Aufheben der Sperre nicht vergessen.
Mehr kann man auch mit API's im IFS nicht feststellen.
Dazu gibt es APIs wie opendir, readdir, cloesedir, stat, ...
Zehe
ich bekomme in ein IFS-Verzeichnis eine Datei, Dateiname besteht aus Tages- und Zeitstempel, gestellt. Ändert sich also immer!!
Nach Aussage von Fuerchau kann ich mit CHKOUT feststellen, ob die Datei vorhanden ist...
Kann ich auch den Dateinamen für den CPYFRMIMPF ermitteln??
Grüße
Ralph
Hierzu sind entweder IFS-API's (C-Routinen) erforderlich oder die QSHELL.
Per QSHELL CMD('cd /Path;ls >/QSYS.LIB/MYLIB.LIB/MYFILE.FILE/MYFILE.MBR') lassen sich die Namen in eine Datei ausgeben.
Die Datei ist vorher mit CRTPF MYLIB/MYFILE RCDLEN(80) zu erstellen.
Oder wenns ein eine Tasse JAVA-Kaffee sein darf :
File f = new File(dirname);
if (f.isDirectory()) {
..... do something...
}
.wie nicht anders zu erwarten, hat es funktioniert... Danke Baldur
möchte mehrer CSV-Dateien aus dem Root-Verzeichnis in eine PF-File einlesen.
Habe mit Qshell die Dateinamen in eine PF gestellt.
Lese dann die Dateinnamen in eine CL-Variable (&PARM) aus und benutze dann CPYFRMIMPF FROMSTMF('/home/&PARM').... geht nicht!!!
ich denke, die Variable wird nicht aufgelöst... oder muss ich den gesamten Pfad in eine Variable schreiben??
den gesamten Pfad in einer weiteren CL Variablen zusammensetzen, das &PARM wird so nicht aufgelöst, und dann etwa so:
CPYFRMIMPF FROMSTMF(&InIFS)
Karl-Heinz