View Full Version : Objekt in IFS vorhanden
hallo,
ich habe ein problem. ich möchte in einem CL-programm prüfen, ob ein gewisser ordner im ifs eine datei enthält (in meinem fall eine csv-datei) oder leer ist. gibt es hier einen befehl?
vielen dank für die hilfe und liebe grüße
Prüfen ob vorhanden mit CHKOUT, wenn es geklappt hat, mit CHKIN freigeben.
Ob die Datei leer ist, kannst du nur per CPYFRMSTMF oder CPYFRMIMPF feststellen, was allerdings auch eine meldung abgibt, wenn die Datei nicht da ist.
Wir machen das so (Anforderung etwas anders, geht aber)
Chgvar &cmd value('FIND /pfad/um/den/es/geht/datei*')
Ovrdbf stdout tofile(qtemp/eine_datei)
strqsh cmd(&cmd)
dltovr stdout
rcvf ...
IF COND(%SST(&dateifeld 1 6) *EQ 'find: ') +
THEN(GOTO CMDLBL(da_ist_nix))
Gruß
Robi
Warum immer so kompliziert ?
CPYFRMSTMF
MONMSG CPFA095 <= nicht da
RTVMBRD FILE(MYFILE) NBRCURRCD(&NBRRCD)
if (&NBRRCD = 0) do <= Leer
Na Ja,
ich schrieb ja ...
Anforderung etwas anders ... (in meinem Fall kenne ich den(die) Dateinamen nicht)
Entschuldigung, das ich mit meinen bescheidenen Möglichkeiten helfen wollte ...:)
Gruß
Robi
hallo,
danke für die antworten. wie schauts eigentlich mit den befehel DSPLNK aus?
ich möchte ja im cl nur folgendes wissen:
wenn der ifs-ordner '/idaten/Test' irgendeine csv-datei enthält (name egal), dann mach weiter, sonst fehlermeldung ausgeben
Dann schau mal hier:
http://newsolutions.de/forum-systemi-as400-i5-iseries/system-i-hauptforum/15493-anzeige-verzeichnisse-im-ifs.html?highlight=qsh+ls
Per RTVMBRD kannst du die Anzahl Dateien und per RCVF die Dateien selber ermitteln.
hallo fuerchau,
sorry, aber ich werde aus deinem letzten beitrag nicht schlau (bin nämlich blutiger anfänger ;-))...
mit RTVMBRD kann ich aber nicht die anzahl der dateien aus einem ifs-ordner auslesen oder???
DSPLNK funktioniert angeblich für eine bestimmte datei ('pfad/dateiname'), aber nach meinem versuch funktioniert es anscheinend nicht für irgendeine beliebige datei ('pfad/*')...
ich möchte nur wissen, ob im ifs-ordner IDATEN/TESTORDNER irgendeine (csv-)datei drin ist oder nicht.
Hallo,
dann versuche es doch mit dem QRYIFSLIB aus den IFS Tools:
IBM i Support: Software Technical Document : 19175649 (http://www-912.ibm.com/s_dir/SLKBase.nsf/0/3976fed8ab10134b862568b60071ccd3?OpenDocument)
Noch mal langsam:
CRTPF MYLIB/MYFILE RCDLEN(256)
QSH CMD('cd /Verz;ls >qsys.lib/mylib.lib/myfile.file/myfile.mbr')
RTVMBRD
Mittels ls-Command und Ausgabeumleitung ">" wird das Verzeichnis in die Datei aufgelistet, je Datei 1 Satz.
Per RTVMBRD erfährt du dann die Anzahl Sätze letztlich also die Anzahl Dateien.