CLIST可以访问PDS成员和GDG文件吗?

时间:2010-08-13 18:41:44

标签: mainframe clist

我需要检查GDG文件中的字符串,例如,检查文件中的'ABCDEFG':AAA.BBB.CCC.DDD(0)。

如果是,请将此字符串'ABCDEFG'附加到PDS成员的底部:

ABD.EFG.HIG(名称)。

如果两个文件都是PSD文件,没有问题,当我改为GDG和PDS成员时,它没有用。

My Clist程序无法分配gdg文件,也无法附加到成员。当我将文件分配给SHR和OLD时,它覆盖了成员。 MOD对成员文件无效。

1 个答案:

答案 0 :(得分:1)

clist可以访问GDG,但您必须将文件名从gdg相对引用(0)转换为完全限定的数据集名称。在您的考试中,您需要将文件引用为:AAA.BBB.CCC.DDD.G1234V00(其中G1234V00是最新版本的标识符)。

通常,您可以通过编写例程来对数据集运行LISTCAT命令,SYSTRAPing输出,然后将完全限定名称解析为CLIST变量。

示例:

PROC 0

  /* This illustrates a basic clist method using SYSTRAP */
  /* to extract a fully qualified GDG dataset name       */ 

     CONTROL NOFLUSH NOPROMPT NOLIST NOCONLIST NOSYMLIST NOMSG MAIN 

  /* Target dataset name */
     SET GDG = 'RAPP.RAP000.YQ.TAX.YQINFO.BK'                       

  /* SET SYSTRAP LIMIT and execute IDCAMS LISTC command */
     SET &SYSOUTTRAP = 300                                          
     LISTC ENTRIES(&GDG)                                            

  /* Calculate line number of last entry in LISTC results */
     SET &I = &SYSOUTLINE-21

  /* calculate ending position of GDG name in report */
     SET &L = &LENGTH(&GDG) + 23

  /* extract SYSTRAP data into clist string variable */
     SET &C = &&SYSOUTLINE&I

  /* substring data from SYSTRAP line into clist variable and list */
     SET &D = &SUBSTR(17:&L,&STR(&C))                               
     WRITE &D                                                       
END 

示例输出......

RAPP.RAP000.YQ.TAX.YQINFO.BK.G8203V00