我想创建一个CL,该CL在库中显示所有物理文件的最新版本名称。使用库名称作为输入参数,如何显示所有物理文件的名称?一旦获得名字,我就可以继续使用版本,但我对此感到困惑。请建议。
预先感谢:)
旧学校答案
显示对象描述(DSPOBJD(命令的输出parm可以接受 *outfile。您只需在DCLF
Statment中使用模型文件QADSPOBJ,然后在使用RCVF
命令读取第一个记录之前使用OVRDBF
覆盖实际输出文件。
问题是,输出文件的格式可以随着新版本甚至PTF的应用而更改。
通用现代答案
使用ILE CL和列表对象(QUSLOBJ(API。返回的数据被倾倒到用户空间中。您可以使用用户空间API在Ile CL程序中访问它。
表(PF(特定的现代答案
(取自JmarkMurphy的答案(
您也可以尝试使用John Y所引用的SQL。这是一个查询,它将返回库中的所有物理文件:
select *
from qsys2.systables
where table_type in ('P', 'T')
and table_schema = 'MYLIB'
and file_type = 'D'
您也可以尝试使用John Y所引用的SQL。这是一个查询,它将返回库中的所有物理文件:
select *
from qsys2.systables
where table_type in ('P', 'T')
and table_schema = 'MYLIB'
and file_type = 'D'
请注意,table_type
包括一个SQL表的't',并在dspobjd中显示为物理文件。file_type
区分数据和源文件。