Ibm midrange CL:如何遍历库中的所有物理文件?
我想创建一个CL,显示库中所有物理文件的最新版本名。使用库名称作为输入参数,如何显示所有物理文件的名称?一旦我得到名字,我可以继续版本,但我被困在这个。请建议Ibm midrange CL:如何遍历库中的所有物理文件?,ibm-midrange,Ibm Midrange,我想创建一个CL,显示库中所有物理文件的最新版本名。使用库名称作为输入参数,如何显示所有物理文件的名称?一旦我得到名字,我可以继续版本,但我被困在这个。请建议 提前感谢:)老派答案 Display Object Description(DSPOBJD)命令有一个接受*OUTFILE的输出参数。在使用RCVF命令读取第一条记录之前,只需在DCLF语句中使用模型文件QADSPOBJ,并使用OVRDBF覆盖到实际输出文件 这样做的问题是,输出文件的格式可能会随着新版本的出现而改变,甚至会随着应用PTF
提前感谢:)老派答案 Display Object Description(DSPOBJD)命令有一个接受*OUTFILE的输出参数。在使用
RCVF
命令读取第一条记录之前,只需在DCLF
语句中使用模型文件QADSPOBJ,并使用OVRDBF
覆盖到实际输出文件
这样做的问题是,输出文件的格式可能会随着新版本的出现而改变,甚至会随着应用PTF而改变
通用现代答案使用ILE CL和列表对象(QUSLOBJ)API。返回的数据被转储到用户空间中。您可以使用用户空间API在ILE CL程序中访问它 特定于表格(PF)的现代答案
(摘自杰玛克墨菲的回答)
您还可以尝试使用John Y引用的SQL。以下是一个查询,它将返回库中的所有物理文件:
select *
from qsys2.systables
where table_type in ('P', 'T')
and table_schema = 'MYLIB'
and file_type = 'D'
select *
from qsys2.systables
where table_type in ('P', 'T')
and table_schema = 'MYLIB'
and file_type = 'D'
老派答案 Display Object Description(DSPOBJD)命令有一个接受*OUTFILE的输出参数。在使用
RCVF
命令读取第一条记录之前,只需在DCLF
语句中使用模型文件QADSPOBJ,并使用OVRDBF
覆盖到实际输出文件
这样做的问题是,输出文件的格式可能会随着新版本的出现而改变,甚至会随着应用PTF而改变
通用现代答案使用ILE CL和列表对象(QUSLOBJ)API。返回的数据被转储到用户空间中。您可以使用用户空间API在ILE CL程序中访问它 特定于表格(PF)的现代答案
(摘自杰玛克墨菲的回答)
您还可以尝试使用John Y引用的SQL。以下是一个查询,它将返回库中的所有物理文件:
select *
from qsys2.systables
where table_type in ('P', 'T')
and table_schema = 'MYLIB'
and file_type = 'D'
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'
select *
from qsys2.systables
where table_type in ('P', 'T')
and table_schema = 'MYLIB'
and file_type = 'D'
请注意,
table\u type
包括“T”,它是一个SQL表,在DSPOBJD中显示为物理文件<代码>文件类型区分数据文件和源文件。您也可以尝试使用John Y引用的SQL。以下是一个查询,将返回库中的所有物理文件:
select *
from qsys2.systables
where table_type in ('P', 'T')
and table_schema = 'MYLIB'
and file_type = 'D'
select *
from qsys2.systables
where table_type in ('P', 'T')
and table_schema = 'MYLIB'
and file_type = 'D'
请注意,
table\u type
包括“T”,它是一个SQL表,在DSPOBJD中显示为物理文件<代码>文件类型区分数据文件和源文件。我正在查找库中的物理文件列表,但这并没有给我该列表info@uSeruSher-他们会给你你需要的。你试过什么?如果使用DSPOBJD,请不要忘记可以使用*ALL
作为对象名。就个人而言,我不喜欢API,尤其是当您必须从头开始构建调用时。(如果你已经有了包装纸,情况就不一样了。)“老派”的方式更简单,不应该气馁。(这是一种不鼓励使用的刮削*PRINT
输出。)另外,新的方法是使用SQL和DB2 for i目录和服务。我在库中查找物理文件列表,但这并没有给我这个info@uSeruSher-他们会给你你需要的。你试过什么?如果使用DSPOBJD,请不要忘记可以使用*ALL
作为对象名。就个人而言,我不喜欢API,尤其是当您必须从头开始构建调用时。(如果你已经有了包装纸,情况就不一样了。)“老派”的方式更简单,不应该气馁。(这是一种不鼓励使用的刮削*PRINT
输出。)另外,新方法是使用SQL和DB2 for i目录和服务。我将您的信息添加到我的答案中我将您的信息添加到我的答案中