View Full Version : prüfen ob STMF in IFS-Verzeichnis vorhanden
Hallo Forum,
kennt jemand eine Möglichkeit wie man in einem CLP prüft ob eine STMF im Verzeichnis (z.B. home\cze425\) vorhanden ist oder nicht und abhängig davon die Weiterverarbeitung steuert?
mfg
HC
Hallo,
einen einfachen Befehl kenne ich auch nicht.
Aber vielleicht DSPLNK auf das gewünschte Objekt machen und mit MONMSG abfangen, wenn es nicht vorhanden ist.
Holger
z.B. mit CPYFRMSTMF in Bibliothek QTEMP, abfangen mit MONMSG CPF0000.
Wenn eine Fehler auftritt, ist die Datei (wenn die Parameter stimme) nicht vorhanden.
Hallo.
Mit dem Befehl WRKLNK kannst Du in einem
CL-Pgm. das Objekt prüfen. Fehlermeldungen sind in der BEfehlsbeschreibung angegeben.
Gruss Joe
Sorry.
Natürlich ist DSPLNK mit Ausgabe *PRINT besser. Bei WRKLNK gibt es bei Vorhandensein einen prompt.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von Joe:
Hallo.
Mit dem Befehl WRKLNK kannst Du in einem
CL-Pgm. das Objekt prüfen. Fehlermeldungen sind in der BEfehlsbeschreibung angegeben.
Gruss Joe [/quote]
Hallo,
es besteht auch die Möglichkeit die Funktion stat() zu benutzen.
Die Quellen-Art für das CL muss CLLE und nicht CLP sein.
(Nur in ILE ist CALLPRC möglich)
Anbei ein Beispiel für ein CL-Program.
RTCCDE '1': Objekt vorhanden
RTCCDE '0': Objekt nicht vorhanden
IFSOBJ: z.B. mydir/myfile.ext
qsys.lib/mylib.lib/myfile.file
PGM PARM(&IFSOBJ &RtnCde)
DCL VAR(&IFSOBJ) TYPE(*CHAR) LEN(256)
DCL VAR(&RECEIVER) TYPE(*CHAR) LEN(4096)
DCL VAR(&RTNVALBIN) TYPE(*CHAR) LEN(4)
DCL VAR(&RTNVALDEC) TYPE(*DEC) LEN(5 0)
DCL VAR(&NULL) TYPE(*CHAR) LEN(1) VALUE(X'00')
DCL VAR(&RTNCDE) TYPE(*CHAR) LEN(1)
CHGVAR VAR(&RTNCDE) VALUE(' ')
CHGVAR VAR(&IFSOBJ) VALUE(&IFSOBJ *TCAT &NULL)
CALLPRC PRC('stat') PARM(&IFSOBJ &RECEIVER) +
RTNVAL(%BIN(&RTNVALBIN))
CHGVAR VAR(&RTNVALDEC) VALUE(%BIN(&RTNVALBIN))
IF COND(&RTNVALDEC *EQ 0) +
THEN(CHGVAR VAR(&RTNCDE) VALUE('1'))
ELSE CHGVAR VAR(&RTNCDE) VALUE('0')
END: ENDPGM
Birgitta
Liebe Forum-Teilnehmer,
danke für die prompte Reaktion. Habt mir sehr geholfen.
Chiao
HC