PDA

View Full Version : Objekt in IFS vorhanden



Seiten : [1] 2

easchbac
16-09-10, 10:07
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

Fuerchau
16-09-10, 10:52
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.

Robi
16-09-10, 10:53
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

Fuerchau
16-09-10, 11:18
Warum immer so kompliziert ?

CPYFRMSTMF
MONMSG CPFA095 <= nicht da

RTVMBRD FILE(MYFILE) NBRCURRCD(&NBRRCD)
if (&NBRRCD = 0) do <= Leer

Robi
16-09-10, 11:37
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

easchbac
16-09-10, 12:23
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

Fuerchau
16-09-10, 12:31
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.

easchbac
16-09-10, 12:55
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.

TARASIK
16-09-10, 13:16
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)

Fuerchau
16-09-10, 15:11
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.