我需要检查 GDG 文件中的字符串,例如,检查文件中的“ABCDEFG”:AAA.BBB.CCC.DDD(0)。
如果是,则将此字符串“ABCDEFG”附加到 PDS 成员的底部:
ABD.EFG.HIG(名称)。
如果两个文件都是PSD文件,没有问题,当我改成GDG和PDS成员时,它不起作用。
我的 Clist 程序无法分配 gdg 文件,也无法附加到成员。当我将文件分配给 SHR 和 OLD 时,它覆盖了成员。MOD 不适用于成员文件。
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