我想创建一个CL,显示库中所有物理文件的最新版本名称。使用库名作为输入参数,如何显示所有物理文件的名称?一旦我得到名字,我可以继续版本,但我坚持这个。请建议。
先谢谢:)
答案 0 :(得分:7)
老派答案
显示对象描述(DSPOBJD)命令具有接受* OUTFILE的输出参数。您只需在DCLF
语句中使用模型文件QADSPOBJ,并在使用OVRDBF
命令读取第一条记录之前使用RCVF
覆盖实际输出文件。
问题在于输出文件的格式可能会随着新版本或甚至PTF的应用而改变。
通用现代答案
使用ILE CL和List Objects(QUSLOBJ)API。返回的数据将转储到用户空间中。您可以使用用户空间API在ILE CL程序中访问它。
表(PF)具体的现代答案
(取自jmarkmurphy的回答)
您也可以尝试使用John Y引用的SQL。这是一个将返回库中所有物理文件的Query:
select *
from qsys2.systables
where table_type in ('P', 'T')
and table_schema = 'MYLIB'
and file_type = 'D'