如何在未知 AS/400 Product number 狀況下,查 AS/400 上有無安裝某個 PTF ?
指令 DSPPTF 需要 AS/400 Produce LICPGM 代碼才能查詢 PTF 狀態,
若要針對某已知編號的 PTF 快速查詢,但不知道 AS/400 Produce
LICPGM 代碼則很難利用 DSPPTF 查詢。例如 IBM 工程師常會詢問
系統有無安裝某個 PTF 時,利用此命令 XDSPPTF 可以讓你快速找
到所指定的 PTF 是否已安裝,若已安裝,則可顯示該 PTF 的相關資訊。
FILE : QCLSRC
MEMBER: XDSPPTFC
TYPE : CLP
Usage : CRTCLPGM PGM(XDSPPTFC) SRCFILE(QCLSRC)
PGM PARM(&PTFID) /* Display PTF */
DCL VAR(&PTFID) TYPE(*CHAR) LEN(7)
DCL VAR(&OUTVAR) TYPE(*CHAR) LEN(19)
DCL VAR(&PTFINFO) TYPE(*CHAR) LEN(50) +
VALUE('???????*ONLY ')
DCL VAR(&ERRCDE) TYPE(*CHAR) LEN(56) +
VALUE(X'00000038')
DCL VAR(&LICPGM) TYPE(*CHAR) LEN(7)
DCL VAR(&MSGID) TYPE(*CHAR) LEN(7) /* Std err */
DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(100) /* Std err */
DCL VAR(&MSGF) TYPE(*CHAR) LEN(10) /* Std err */
DCL VAR(&MSGFLIB) TYPE(*CHAR) LEN(10) /* Std err */
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(STDERR1))
CHGVAR VAR(%SST(&PTFINFO 1 7)) VALUE(&PTFID)
CALL PGM(QPZRTVFX) PARM(&OUTVAR X'00000013' +
&PTFINFO 'PTFR0100' &ERRCDE)
CHGVAR VAR(&LICPGM) VALUE(%SST(&OUTVAR 13 7))
CHGVAR &MSGID %SST(&ERRCDE 9 7)
IF COND(&MSGID *NE ' ') THEN(DO)
CHGVAR &MSGDTA %SST(&ERRCDE 17 39)
SNDPGMMSG MSGID(&MSGID) MSGF(QCPFMSG) MSGDTA(&MSGDTA) +
MSGTYPE(*ESCAPE)
ENDDO
ELSE CMD(DSPPTF LICPGM(&LICPGM) SELECT(&PTFID))
GOTO CMDLBL(EINDE)
STDERR1: RCVMSG MSGTYPE(*DIAG) MSGDTA(&MSGDTA) MSGID(&MSGID) +
MSGF(&MSGF) MSGFLIB(&MSGFLIB)
IF (&MSGID *EQ ' ') GOTO STDERR3
SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
MSGDTA(&MSGDTA) MSGTYPE(*DIAG)
GOTO STDERR1 /* Loop back for addl diagnostics */
STDERR3: RCVMSG MSGTYPE(*EXCP) MSGDTA(&MSGDTA) MSGID(&MSGID) +
MSGF(&MSGF) MSGFLIB(&MSGFLIB)
SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
MSGDTA(&MSGDTA) MSGTYPE(*ESCAPE)
EINDE: /**/
ENDPGM
FILE : QCMDSRC
MEMBER: XDSPPTF
TYPE : CMD
Usage : CRTCMD CMD(XDSPPTF) PGM(XDSPPTFC) SRCFILE(QCMDSRC)
CMD PROMPT('Display PTF')
PARM KWD(PTFID) TYPE(*CHAR) LEN(7) MIN(1) +
FULL(*YES) PROMPT('PTF number')
A blog about IBM i (AS/400), MQ and other things developers or Admins need to know.
星期三, 11月 01, 2023
2002-03-11 如何在未知 AS/400 Product number 狀況下,查 AS/400 上有無安裝某個 PTF ?
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言