我不是 AS400 的专家,只知道一些命令,并将AS400(iSeries)中的一些文件导出到SQL Server 2005中。
实际上我需要知道哪个RPG程序在库中创建了一个文件。这是因为该文件包含存储在其他AS400库中的其他文件的统计数据。
此屏幕截图显示了库STTMVF
中的文件DAT_4DWH
(DSPLIB DAT_4DWH
)
所以有一个命令让我知道哪个RPG程序创建了文件STTMVF?
如果是,我需要打开源RPG或CL并尝试了解使用哪些物理文件来编写此统计文件。
提前致谢!
答案 0 :(得分:6)
您可以使用journal management或program references来确定写入文件的内容。
要创建基本日记,您需要创建日记接收器,日志并激活该文件的日志记录。替换 RECEIVER-LIB , RECEIVER-FILE , JOURNAL-LIB , JOURNAL-FILE , FILE- LIB 和 FILE ,其值适合您的系统。
CRTJRNRCV JRNRCV(RECEIVER-LIB/RECEIVER-FILE)
CRTJRN JRN(JOURNAL-LIB/JOURNAL-FILE) JRNRCV(RECEIVER-LIB/RECEIVER-FILE)
STRJRNPF FILE(FILE-LIB/FILE) JRN(JOURNAL-LIB/JOURNAL-FILE) OMTJRNE(*OPNCLO)
DSPJRN JRN(JOURNAL-LIB/JOURNAL-FILE) FILE(FILE-LIB/FILE) RCVRNG(*CURCHAIN) JRNCDE(R) ENTTYP(PT PX DL UP) OUTPUT(*OUTFILE) OUTFILFMT(*TYPE1) OUTFILE(QTEMP/QADSPJRN)
字段JOPGM
将包含从文件中插入,更新或删除记录的程序名称。
ENDJRNPF FILE(FILE-LIB/FILE)
DLTJRN JRN(JOURNAL-LIB/JOURNAL-FILE)
DSPPGMREF PGM(*ALLUSR/*ALL) OUTPUT(*OUTFILE) OUTFILE(QTEMP/QADSPPGM)
在文件中搜索字段WHFNAM
等于 FILE 的所有引用。字段WHPNAM
将包含程序名称。由于文件覆盖等,此方法不如使用日志那么准确。