如何容易的辨別自己所開發的物件版本?(API QLICOBJD)
這是一個利用物件上的使用者定義屬性(user-defined attributes)文字來將物件以
API QLICOBJD 印上註記的簡單程式,你能藉由這個 API 來改變使用者定義屬性文字,
但無法使用 IBM 的指令更改使用者定義屬性文字。
你能利用這個 API 來完成你應用軟體的版本控制,以確保程式是否有重新編譯過。
最好的方式是利用 DSPOBJD 指令,再執行這隻程式將所有物件加印註記,來分辨程式版本。
範例:
DSPOBJD OBJ(SEARCH400/FNDMSG) OBJTYPE(*PGM) OUTPUT(*OUTFILE) OUTFILE(QTEMP/QADSPOBJ)
OVRDBF FILE(QADSPOBJ) TOFILE(QTEMP/QADSPOBJ)
CALL STAMPOBJ
File : QRPGSRC
Member: STAMPOBJ
Type : RPG
Usage : CRTRPGPGM STAMPOBJ
OS Version: all
FQADSPOBJIF E DISK
I 'MY_VERSION' C VERSN
I SDS
I 1 10 @PGM
I 254 263 @USR
C*
ISYSOBJ DS
I 1 10 ODOBNM
I 11 20 ODLBNM
IOUTREC DS
I B 1 40NUMKEY
I B 5 80KEY#
I B 9 120KEYLEN
I 13 22 DATA
I 1 22 ALL
C*
C EXSR INIT
C 1 SETLLQADSPOBJ
C*
C *INLR DOUEQ*ON
C READ QADSPOBJ LR
C* PROCESS RECORDS
C *INLR IFEQ *OFF
C*
C MOVELODOBTP OUTTYP 10 P
C CALL 'QLICOBJD'
C PARM OUTLIB 10
C PARM SYSOBJ
C PARM OUTTYP 10
C PARM ALL
C PARM PERR 40
C END
C END
C*
C*****************************************************************
C* INIT - INITIALIZATION SUBROUTINE *
C*****************************************************************
C*
C INIT BEGSR
C Z-ADD1 NUMKEY
C Z-ADD9 KEY#
C Z-ADD10 KEYLEN
C MOVELVERSN DATA
C ENDSR
C*
執行 DSPOBJD 檢視更改結果
Display Object Description - Full
Library 1 of 1
Object . . . . . . . : FNDMSG Attribute . . . . . : CLP
Library . . . . . : SEARCH400 Owner . . . . . . . : QSECOFR
Library ASP device . : *SYSBAS Primary group . . . : *NONE
Type . . . . . . . . : *PGM
User-defined information:
Attribute . . . . . . . . . . . . : MY_VERSION
Text . . . . . . . . . . . . . . . : FNDMSG command processing program
Creation information:
Creation date/time . . . . . . . . : 03/02/02 14:29:36
Created by user . . . . . . . . . : QSECOFR
System created on . . . . . . . . : S1036846
Object domain . . . . . . . . . . : *USER
More...
Press Enter to continue.
F3=Exit F12=Cancel
(C) COPYRIGHT IBM CORP. 1980, 2002.
A blog about IBM i (AS/400), MQ and other things developers or Admins need to know.
星期一, 11月 06, 2023
2003-04-29 如何容易的辨別自己所開發的物件版本?(API QLICOBJD)
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言