// SYSG='HLED',
// PLUS1='(+1)'
//TST2310E EXEC PGM=ICEGENER,COND=(0,NE)
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=&HLQAI..&DMC2..&SYSG..PCTRSAS.LOAD,DISP=SHR
//SYSUT2 DD DSN=&HLQAO..&DMC2..&SYSG..&PRC..PCTRSAS.COPY&PLUS1,
// DISP=(,CATLG,DELETE),
// SPACE=(TRK,(5,2),RLSE),
// DCB=(GDG,LRECL=80,BLKSIZE=0,RECFM=FB),
// UNIT=DISK
//SYSIN DD DUMMY
//*
My reqt is to blank out the symbolic variable HLED from the above PROC
My approach was to search for '=FLED' and then get the corresponding parm parameter (SYSG). Then do a search for &SYSG.. and blank out that.
But the problem is when we use the statement
FULLPARM = "&"||SYSG||".."
"ISREDIT C &FULLPARM '' ALL NX"
it is blanking out only periods (.) and not the literals. Could you plz help in this issue.
Code
BLANKRC = 0
"ISREDIT CURSOR = 1 1"
"ISREDIT C '7D'X '~' ALL" /* converting inverted comma to tilde char for finding the variable within the inverted comma
DO WHILE (BLANKRC = 0)
"ISREDIT F '=~HLED~' FIRST"
BLANKRC = RC
IF BLANKRC = 0 THEN
DO
"ISREDIT (LINE) = LINENUM .ZCSR"
"ISREDIT (BLNKLNE) = LINE .ZCSR"
PARSE VAR BLNKLNE '//' BLNKLNES
BLNKLNES = STRIP(BLNKLNES)
DO WHILE(BLNKLNES <> '')
PARSE VAR BLNKLNES BLNKLNE1 "=" BLNKLNE2 "~," BLNKLNES
IF BLNKLNE2 = '~HLED' THEN
DO
FULLPARM = "&"||BLNKLNE1||"!!"
"ISREDIT C &FULLPARM '' ALL NX"
END
END
END
END
"ISREDIT C '~' '7D'X ALL"
RETURN 0
"ISREDIT CURSOR = 1 1"
"ISREDIT C '7D'X '~' ALL" /* converting inverted comma to tilde char for finding the variable within the inverted comma
DO WHILE (BLANKRC = 0)
"ISREDIT F '=~HLED~' FIRST"
BLANKRC = RC
IF BLANKRC = 0 THEN
DO
"ISREDIT (LINE) = LINENUM .ZCSR"
"ISREDIT (BLNKLNE) = LINE .ZCSR"
PARSE VAR BLNKLNE '//' BLNKLNES
BLNKLNES = STRIP(BLNKLNES)
DO WHILE(BLNKLNES <> '')
PARSE VAR BLNKLNES BLNKLNE1 "=" BLNKLNE2 "~," BLNKLNES
IF BLNKLNE2 = '~HLED' THEN
DO
FULLPARM = "&"||BLNKLNE1||"!!"
"ISREDIT C &FULLPARM '' ALL NX"
END
END
END
END
"ISREDIT C '~' '7D'X ALL"
RETURN 0
Plz help me to blank out &SYSG..
Thanks
Vinu