これも「ライブラリー内部の変動を調べるには」と
同様でファイルの変更日付を調べるだけでよい。
_
[ TESTFIL : ファイルの変更日付時刻を調べる ]
ソースはこちらから
0001.00 PGM
0002.00 DCL VAR(&DATE8) TYPE(*CHAR) LEN(8)
0003.00 DCL VAR(&YY4) TYPE(*CHAR) STG(*DEFINED) LEN(4) +
0004.00 DEFVAR(&DATE8 1)
0005.00 DCL VAR(&MM) TYPE(*CHAR) STG(*DEFINED) LEN(2) +
0006.00 DEFVAR(&DATE8 5)
0007.00 DCL VAR(&DD) TYPE(*CHAR) STG(*DEFINED) LEN(2) +
0008.00 DEFVAR(&DATE8 7)
0009.00 DCL VAR(&CHGDATE) TYPE(*CHAR) LEN(13)
0010.00 DCL VAR(&TIME) TYPE(*CHAR) LEN(6)
0011.00 DCL VAR(&HOUR) TYPE(*CHAR) STG(*DEFINED) LEN(2) +
0012.00 DEFVAR(&TIME 1)
0013.00 DCL VAR(&MINUTE) TYPE(*CHAR) STG(*DEFINED) +
0014.00 LEN(2) DEFVAR(&TIME 3)
0015.00 DCL VAR(&SECOND) TYPE(*CHAR) STG(*DEFINED) +
0016.00 LEN(2) DEFVAR(&TIME 5)
0017.00
0018.00 RTVOBJD OBJ(QTRSRC/QRPGLESRC) OBJTYPE(*FILE) +
0019.00 CHGDATE(&CHGDATE)
0020.00 CHGVAR VAR(&DATE8) VALUE('20' *CAT %SST(&CHGDATE 2 6))
0021.00 CHGVAR VAR(&TIME) VALUE(%SST(&CHGDATE 8 6))
0022.00 SNDPGMMSG MSG(' このソース・ファイルに変動があったのは ' +
0023.00 *CAT &YY4 *CAT '/' *CAT &MM *CAT '/' *CAT +
0024.00 &DD *CAT ' 日 ' *CAT &HOUR *CAT ':' *CAT +
0025.00 &MINUTE *CAT ':' *CAT &SECOND *CAT +
0026.00 ' 分です。 ') MSGTYPE(*DIAG)
0027.00 RETURN
0028.00 ENDPGM
[解説]
0018.00 RTVOBJD OBJ(QTRSRC/QRPGLESRC) OBJTYPE(*FILE) + 0019.00 CHGDATE(&CHGDATE)
で変更日付 &CHGDATEを取得するだけでよい。
変更日付は 13桁で
世紀1桁 + 年2桁 + 月2桁 + 時2桁 + 分2桁 + 秒2桁
の型式である。
_
