Page 1 of 1

using Symbolic in FINDREP

PostPosted: Mon Mar 19, 2012 11:23 pm
by mathew28
Hi,

I have created a JCL which uses the FINDREP to find and replace a string in a control card. And its working fine.
But need to use a symbolic inside the FINDREP to replace with the value in the symbolc.

//SETLVL SET FNAME=QC41223
//STEP01 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=XXXX828.TEST.INFILE(EMLCARD),DISP=SHR
//SORTOUT DD DSN=XXXX828.TEST.OUTFILE(EMLOUT),DISP=SHR
//SYSIN DD *
OPTION COPY
OUTREC FINDREP=(IN=C'ERC.CSV',OUT=C'&FNAME'.CSV') /********** // OUTREC FINDREP=(IN=C'ERC.CSV',OUT=C'QC41223'.CSV') WORKED FINE"
/*

When I tried to executed the above JCL I'm getting Syntax error. is it possible to use Symbolic inside the control cards.. Please advice

Re: using Symbolic in FINDREP

PostPosted: Tue Mar 20, 2012 12:31 am
by Thomas Ramseier
Hi Matthew
Maybe the sample below helps - although it is not exactly performing the requested function since the ".CSV"-ending is appended to the // SET-Variable:

// SET FNAME='QC41223.CSV'
//*-----------------------------------------------------------------
//STEP0100 EXEC PGM=SORT,
// PARM='JP1"&FNAME"'
//SORTIN DD *
ERC.CSV
/*
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
OUTREC FINDREP=(IN=C'ERC.CSV',OUT=JP1)
/*
hth

Thomas

Re: using Symbolic in FINDREP

PostPosted: Tue Mar 20, 2012 12:54 am
by mathew28
Thanks very much Thomas. It worked fine..

Thanks a lot !!

Re: using Symbolic in FINDREP

PostPosted: Tue Mar 20, 2012 1:07 am
by Frank Yaeger
Note that you don't have to change FNAME to do it. You can use a DFSORT job like the following:

//SETLVL SET FNAME=QC41223
//S1 EXEC PGM=SORT,PARM='JP1"&FNAME..CSV"'
//SYSOUT DD SYSOUT=*
//SYMNOUT DD SYSOUT=*
//SORTIN DD *
ERC.CSV
//SORTOUT DD SYSOUT=*
//SYSIN DD *
  OPTION COPY
  OUTREC FINDREP=(IN=C'ERC.CSV',OUT=JP1)
/*

Re: using Symbolic in FINDREP

PostPosted: Tue Mar 20, 2012 1:52 am
by mathew28
That was cool. Thanks very much Frank !