View previous topic :: View next topic
|
Author |
Message |
tuxama
New User
Joined: 25 Jan 2007 Posts: 42 Location: france
|
|
|
|
The input file contains several JCL concatenated one after the other and separated by a IEBUPDTE card "./ ADD".
I have to propagate the stepname column 90.
For this I use group instruction as well:
Code: |
//CTL2CNTL DD *
INREC IFTHEN=(WHEN=INIT,OVERLAY=(121:X)),
IFTHEN=(WHEN=GROUP,
BEGIN=(1,1,CH,EQ,C'//',AND,
3,1,CH,NE,C'*',AND,
4,71,SS,EQ,C' EXEC '),
END=(1,15,CH,EQ,C'./ ADD NAME='),
PUSH=(90:3,8)),
/*
|
The problem is that the line that match "./ ADD" contains also the stepname.
To remove it I use the following :
Code: |
//CTL2CNTL DD *
INREC IFTHEN=(WHEN=INIT,OVERLAY=(121:X)),
IFTHEN=(WHEN=GROUP,
BEGIN=(1,1,CH,EQ,C'//',AND,
3,1,CH,NE,C'*',AND,
4,71,SS,EQ,C' EXEC '),
END=(1,15,CH,EQ,C'./ ADD NAME='),
PUSH=(90:3,8)),
IFTHEN=(WHEN=(1,15,CH,EQ,C'./ ADD NAME='),
OVERLAY=(90:7X))
/*
|
Is there a better solution?
In any case, how excluded from processing lines that match BEGIN or END ?
Thank's for your time and attention.
Best regards |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
A record matching END= is always part of the group. I think you already have the best way to deal with that.
For the rest, I'd suggest PARSEing the data. You can potentially get false hits on the way you have used SS to look for EXEC.
Code: |
BEGIN=(1,1,CH,EQ,C'//',AND,
3,1,CH,NE,C'*',AND, |
You have a typo, and that can be simplified:
Code: |
BEGIN=(1,3,CH,EQ,C'// ',AND,
|
|
|
Back to top |
|
|
tuxama
New User
Joined: 25 Jan 2007 Posts: 42 Location: france
|
|
|
|
Thanks for your answer.
Best Regards |
|
Back to top |
|
|
|
|