如何读取MVS系统目录以检索GDG信息



我在大型机上有一个作业(JCL),我想通过编程从系统目录(API调用)中检索特定GDG文件的最近相对生成号。。。在那里,我可以通过编程方式挖掘调用返回的结果,以计算出相对的生成数。这类似于在GDG基本文件名上执行TSO 3.4,其中可以看到最新的一代编号。IDCAMS似乎不会以对程序友好的格式返回信息。谢谢

示例:GDG基本名称:TEST.FILE

GDG代:

TEST.FILE.G0010V00

测试文件。G0011V00

测试文件G0012V00

看看目录接口IGGCSI00。您可以从任何程序(REXX、CLIST、COBOL、汇编程序、PL/I)调用它,它提供了很大的灵活性。当然,就像许多IBM灵活的解决方案一样,总会有一些迟钝之处。

互联网上有很多例子,但SYS1.SAMPIB(IGGCSIRX)中的示例程序非常出色。

通过编程(汇编语言),您可以使用LOCATE SVC,其中CAMLST指定参数列表,以获得您想要的信息——这里有一个参考:https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.idas300/s3099.htm--那里的例子只显示了如何使用它来获取卷列表,但我在80年代初使用它来获得与相对索引号相对应的G-V-(生成版本)子名称限定符--传递GDG基本DSNAME,就可以获得所有的gens--如果你想看一些线程,也许搜索bit.listserv.ibm-main——你也可以用术语"生成索引指针条目"(GIPE)搜索在线ibm手册,这是相关控制块的关键部分。。。

您的选择包括:

  • IDCAMS/TSO Listcat并编写程序以重新格式化
  • Rexx ListDsi命令

特别是对于ListDsi,您可以在JCL 中拥有以下内容

//MYGDG  DD DSN=my.gdg(0),DISP=SHR

并且在rexx程序中

x = ListDsi("MYGDG FILE")
say SYSDSNAME

你也可以使用后台ISPF服务,但这对来说是一种过度使用


**注意:*要运行rexx,您需要运行TSO

//* job statement 
//TSOBATCH EXEC PGM=IKJEFT1A,DYNAMNBR=200 
//SYSEXEC  DD  DSN=userid.REXX.EXEC,DISP=SHR 
//SYSPRINT DD  SYSOUT=* 
//SYSTSPRT DD  SYSOUT=* 
//MYGDG    DD  DSN=my.gdg(0),DISP=SHR
//SYSTSIN  DD  * 
PROFILE PREFIX(userid) /* specifying a userid*/ 
%MYREXX 

相关内容

  • 没有找到相关文章

最新更新