2010-08-13 31 views
0

我需要检查GDG文件中的字符串,例如,检查文件中的'ABCDEFG':AAA.BBB.CCC.DDD(0)。CLIST可以访问PDS成员和GDG文件吗?

IF YES,这追加字符串 'ABCDEFG' 到PDS构件的底部:

ABD.EFG.HIG(名称)。

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

我的Clist程序不能分配一个gdg文件,也不能附加到一个成员。当我将文件分配给SHR和OLD时,它覆盖了成员。 MOD不适用于成员文件。

回答

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