如何檢查 IFS 檔案是否存在 (Command CHKOBJLNK) ?
由於現在有許多的應用軟體(HTTP power by Apache,Websphere 系列產品,Java等,你可以使用 WRKLNK 檢視有哪些路徑)會採用 AS/400 中的
IFS 檔案架構(與 PC windows 檔案架構類似),所以有時會將檔案寫入 IFS 檔案,所以需
要檢查檔案是否存在,你可以使用下列指令檢查:
File : QCLSRC
Member: CHKOBJLNKC
Type : CLP
Usage : CRTCLPGM PGM(CHKOBJLNK)
/* CHECK OBJECT LINK */
PGM PARM(&OBJ &OBJERROR)
DCL VAR(&OBJ) TYPE(*CHAR) LEN(512)
DCL VAR(&OBJERROR) TYPE(*LGL)
DCL VAR(&OFF) TYPE(*LGL) VALUE('0')
DCL VAR(&ON) TYPE(*LGL) VALUE('1')
DCL VAR(&SPLF) TYPE(*CHAR) LEN(10) VALUE(CHKOBJLNK)
/* TURN ERROR FLAG OFF */
CHGVAR VAR(&OBJERROR) VALUE(&OFF)
/* CHECK TO SEE IF THE OBJECT EXISTS */
OVRPRTF FILE(*PRTF) HOLD(*YES) SPLFNAME(&SPLF) +
OVRSCOPE(*CALLLVL)
DSPLNK OBJ(&OBJ) OUTPUT(*PRINT) OBJTYPE(*ALL) +
DETAIL(*BASIC) DSPOPT(*USER)
MONMSG MSGID(CPFA0A9) EXEC(CHGVAR VAR(&OBJERROR) +
VALUE(&ON))
/* DELETE THE SPOOL FILE */
DLTSPLF FILE(&SPLF) SPLNBR(*LAST)
MONMSG MSGID(CPF0000)
ENDPGM
File : QCMDSRC
Member: CHKOBJLNK
Type : CMD
Usage : CRTCMD CMD(CHKOBJLNK) PGM(CHKOBJLNKC)
於 CLP 中使用指令 CHKOBJLNK OBJ(xxx) OBJERROR(&OBJERROR)
此指令會回傳值'1'表物件不存在,'0'表物件存在
/* CHECK OBJECT LINK */
CMD PROMPT('Check object link')
PARM KWD(OBJ) TYPE(*PNAME) LEN(512) MIN(1) +
PROMPT('Object Link to check')
PARM KWD(OBJERROR) TYPE(*LGL) RTNVAL(*YES) +
PROMPT('Object error')
A blog about IBM i (AS/400), MQ and other things developers or Admins need to know.
星期四, 11月 02, 2023
2002-07-15 如何檢查 IFS 檔案是否存在 (Command CHKOBJLNK) ?
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言