I was able to print the required contents to flat file. ...But I need some clarifications :-
1.Is it possible to filter both IEF142I message and the related IEF640I messages from spool to dataset together in case of JCL errors??
ie.Can we print the job code,jcl error(obtained from IEF142I message) and the reason for error(obtained from IEF640I message) in a single line in dataset??...
2.In case of IEFC605I messages,how can we print the line number appearing before the IEFC605I message to the dataset??
In the APPL1 application ,I have a job called JOB1 to copy contents from spool to dataset.
Is there any way to pass the jobname of the failed job as parameter to JOB1 ??
Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
Posted: Tue Apr 01, 2014 4:12 pm Post subject:
apru wrote:
Thanks Kolusu
I was able to print the required contents to flat file. ...But I need some clarifications :-
1.Is it possible to filter both IEF142I message and the related IEF640I messages from spool to dataset together in case of JCL errors??
ie.Can we print the job code,jcl error(obtained from IEF142I message) and the reason for error(obtained from IEF640I message) in a single line in dataset??...
2.In case of IEFC605I messages,how can we print the line number appearing before the IEFC605I message to the dataset??
1. You need to modify the DFSORT job I gave initially.
2. I have no idea as to what you want. You need to show me an example of what you meant by LINE NUMBER?
apru wrote:
In the APPL1 application ,I have a job called JOB1 to copy contents from spool to dataset.
Is there any way to pass the jobname of the failed job as parameter to JOB1 ??
Why don't you schedule the job using OPC? Read upon the manuals and look up examples.
Finally I think you are honestly trying to re-invent the wheel and wasting your time. _________________ Kolusu
www.linkedin.com/in/kolusu
Actually I want to print the job code,jcl error(obtained from IEF142I message) and the reason for error(obtained from IEF640I message) in a single line in dataset.I tried the following code:
Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
Posted: Wed Apr 02, 2014 11:38 am Post subject:
apru,
Did you understand the DFSORT job I gave you? Initially your request to pull the information from IEF142I which has the information you wanted after the message.
Now for IEF605I message you want the data before and After the message, so you need to change it accordingly and you simply cannot use the same logic used for IEF142I.
Having said that what are you going to do with this information? You are simply spending time on something that is already available.
I did try the code to print the IEF452I and IEF640I messages in the same line.
But I am getting a syntax error.Can you please help me resolve the error??
This is the code snippet:
Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
Posted: Thu Apr 03, 2014 12:39 pm Post subject:
apru wrote:
But I am getting a syntax error.Can you please help me resolve the error??
Apru,
Did you even try to look at the error in the sysout? : It is quite self explanatory. DFSORT flags the first statement by position where it found the error with a $ symbol. You are missing an opening parenthesis for the 2nd IFTHEN. Please spend time to understand and debug instead of relying on someone to help you.
Code:
ICE000I 1 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R12 - 10:27 ON THU
OPTION COPY
INREC IFTHEN=(WHEN=(21,7,CH,EQ,C'IEF452I'),
PARSE=(%01=(STARTAFT=C'IEF452I ',ENDBEFR=C' ',FIXLEN=8),
%02=(STARTAFT=C'- ',ENDBEFR=C'-',FIXLEN=11),
%03=(STARTAFT=C' ',FIXLEN=20)),
BUILD=(%01,C'#',%03,C'#')),
IFTHEN=(WHEN=12,7,CH,EQ,C'IEF640I'),
$
ICE007A F SYNTAX ERROR
PARSE=(%04=(STARTAFT=C'IEF640I ',FIXLEN=80)),
$
ICE005A 0 BLANK NEEDED IN COLUMN 1 OR OPERATION NOT DEFINED CORRECTLY
BUILD=(22:%04))
$
Moreover you keep changing your requirements over and over. As I keep insisting on how this whole thing is sheer waste of time, your solution cannot cover all the scenarios. ex : For a JCL error you might have different codes like IEF648I or IEFC006I or some other code depending on what the error is. How are you going to account for all of those?
You are spending time on a trivial solution for about 20 days which can be used to do something more useful than this moot exercise.
Any way here are the updated control cards.
Code:
INCLUDE COND=(02,7,CH,EQ,C'IEF142I',OR,
12,7,CH,EQ,C'IEF648I',OR,
12,8,CH,EQ,C'IEFC006I')
All times are GMT - 5 Hours Goto page Previous1, 2
Page 2 of 2
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum