IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

How to Solve s222 Abend - JOB Cancelled


IBM Mainframe Forums -> ABENDS & Debugging
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
genesis786

Active User


Joined: 28 Sep 2005
Posts: 210
Location: St Katherine's Dock London

PostPosted: Thu Dec 28, 2006 11:11 am
Reply with quote

Hi,

I was running a job in TSO, which got abended after 3 hours of clock time. Abend code was S222. I had given TIME=NOLIMIT in the job statement. I think that some other job had pulled the resources which made my job abend.

Can I somehow find which job did that?
Back to top
View user's profile Send private message
priyesh.agrawal

Senior Member


Joined: 28 Mar 2005
Posts: 1448
Location: Chicago, IL

PostPosted: Thu Dec 28, 2006 11:17 am
Reply with quote

Quote:
I think that some other job had pulled the resources which made my job abend.

Can I somehow find which job did that?

And what makes you think like that... Is there any relevent message ??

You may also want to look at the functionality of the executing script to be ensured that it is not catching up in a never ending loop.
Back to top
View user's profile Send private message
genesis786

Active User


Joined: 28 Sep 2005
Posts: 210
Location: St Katherine's Dock London

PostPosted: Thu Dec 28, 2006 12:15 pm
Reply with quote

Nah! There is no infinite loop. It's a simple restore job, restoring files from a tape.

Version 6.5 Parm S222
Message S222 U0000 REASON=00000000 710

----------------------------------------------------------------------------
222,
Quote:
,
Explanation: The operator, or an authorized time sharing option,
extensions (TSO/E) user, canceled the job without requesting a dump.,
,
System Action: The system ends the job. In some cases, the system might,
write a dump even though a dump was not requested, depending on which,
system routine has control.,
,
Programmer Response: Find out why the operator or TSO/E user canceled the,
job. Correct any errors and resubmit the job. If you want a dump, have the,
operator resubmit the job and then cancel it using the command CANCEL,
jobname, DUMP.,



This made me think that a job has abended my job!
Back to top
View user's profile Send private message
PeD

Active User


Joined: 26 Nov 2005
Posts: 459
Location: Belgium

PostPosted: Thu Dec 28, 2006 1:26 pm
Reply with quote

Quote:
It's a simple restore job
You have to talk to your storage people to check if something is not wrong with tapes drives, or robot, because what a time for a simple restore.

For the cause of your S222, you have to look at the log or at the SMF records.
Back to top
View user's profile Send private message
UmeySan

Active Member


Joined: 22 Aug 2006
Posts: 771
Location: Germany

PostPosted: Thu Dec 28, 2006 3:21 pm
Reply with quote

Hi there !

Three hours for a simple restore of a dataset. Are you shure, that this specific dataset was not blocked by another system or task.

Regards, UmeySan
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Thu Dec 28, 2006 3:44 pm
Reply with quote

Did anyone notice the message : WAITING FOR DATASETS???? If it was a restore from tape who's the one hiding it? Did someone allocate the dataset to be restored (it might be yourself allocating it by TSO).
Back to top
View user's profile Send private message
genesis786

Active User


Joined: 28 Sep 2005
Posts: 210
Location: St Katherine's Dock London

PostPosted: Tue Jan 02, 2007 2:57 pm
Reply with quote

Job was restoring the datasets from the tape! Everything was going well and suddenly I find the my job has abended with S222.

Now there are only 2 possibilities for this to happen:

1. Job exceeded the time limit. (which i obviated by coding TIME=NOLIMIT).

2. Some other user/job pulled the resources which made my job abend.

Given the second one happen, is it possible somehow to find out what job or which user did that? Because I couldn't find any meaningful message in the joblog which could lead me to the answer!
Back to top
View user's profile Send private message
PeD

Active User


Joined: 26 Nov 2005
Posts: 459
Location: Belgium

PostPosted: Tue Jan 02, 2007 3:03 pm
Reply with quote

As said before, check LOG or SMF records.

But can't you consider now ( after 7 days ) this as an accident?

Let's say you have a job that frequently encounters the S222 abend due to exceeding the time limit. Here are some specific actions you can take:

Increase Time Limit: If the job requires more time to complete its tasks, adjust the time limit specified in the job's execution parameters or in the job scheduler.
Optimize Processing: Review the job's logic and processing steps. Identify areas where optimization or parallel processing techniques can reduce execution time.
Resource Allocation: Ensure that the job has sufficient access to CPU resources, memory, and I/O devices. Adjust resource allocations as needed.
Monitor Job Execution: Use monitoring tools to track job progress, resource usage, and any warning signs that could lead to a time limit exceeded condition.
Review System Configuration: Check the overall system configuration and workload to identify any systemic issues that could contribute to job cancellations.
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Tue Jan 02, 2007 3:11 pm
Reply with quote

As far as I know exeeding time limit results in a S322 so imho the restore was cancelled by an operator either due to waiting for datasets or they needed a tape-unit or the tape had irrecoverable errors or whatever. The systemlog, like PeD states, should show what actually happened. Every keystroke an operator enters at his console is recorded. Did you try to run the recovery job again?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Tue Jan 02, 2007 10:49 pm
Reply with quote

Hello,

Are we interested in a S322 or a S222 abend?

If it is a 222, it is most likely an "operator cancel". Some reasons for an operator to cancel a job are:
The operator canceled your job for one of the following reasons:

1. It was waiting for resources that were not immediately available.
2. It appeared to be in a loop.
3. It was canceled to correct a system interlock condition.
4. It may have violated a procedure established for your installation.
5. It may have been a mistake - the wrong job was canceled.

In many organizations, the operations people are required to document ANY job cancels. If you have this happen in the future, you should call/visit your scheduling or operatons dept and have them explain why the job was canceled.
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1104
Location: The Netherlands at Hole 19

PostPosted: Wed Jan 03, 2007 1:52 am
Reply with quote

@d.sh among others,

TS mentioned an S222 (cancelled by operator). Hopefully TS will get back to us.............I hope icon_rolleyes.gif
Back to top
View user's profile Send private message
gamarendra

New User


Joined: 12 May 2006
Posts: 13
Location: bangalore

PostPosted: Wed Jan 03, 2007 9:28 am
Reply with quote

Hi All,
If a job abends with S122 and S322 means it's Looping.

If it is S222 it's Cancelled by an operator.

/references/a29.html#U1
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Wed Jan 03, 2007 9:45 am
Reply with quote

Hello,

A 322 doesn't necessarily mean a job is looping.

Quite often this happens when a job exceeds the allowable cpu time for that job. The job then needs to be run in a different class (if classes at your site include cpu time restrictions) or have the time parameter increased - making sure that the program is NOT in a loop first.

I's suggest that you check with your scheduling or operations people to find what the rules are.
Back to top
View user's profile Send private message
Praveen Kumar Singh

New User


Joined: 02 Jan 2007
Posts: 6
Location: Mumbai

PostPosted: Thu Jan 04, 2007 2:01 am
Reply with quote

Hi Rahul,
For your Abend S222.

Check the Job log first(as told before). If there is no explanation contact operator---Possible cause is Line or Card estimate exceeded JCL error caused mount request for invalid or Non-Existing Volume of the Device currently not Available.

Causes of S222 Abend
Operator Cancellation: The job was manually canceled by the system operator, often due to the job consuming too many resources or running for too long.
Exceeding CPU Time Limit: The job exceeded its allocated CPU time limit set by the TIME parameter in the JCL or by system defaults.
Resource Constraints: The system may be under heavy load, and the job is consuming resources that need to be freed up for other critical processes.
System Issues: There could be underlying system issues causing jobs to be canceled to maintain overall system stability.

Steps to Diagnose and Resolve S222 Abend

Check Job Log for Messages:
Look at the job log (JESMSGLG) and system output (SYSOUT) to identify messages indicating why the job was canceled. The log might show messages like "JOB CANCELLED BY OPERATOR" or "CPU TIME LIMIT EXCEEDED."

Increase CPU Time Limit:
If the job is running longer than expected and hitting a CPU time limit, you may need to increase the TIME parameter for the job or step.
Example:
Code:
//MYJOB JOB (ACCT),'JOB NAME',TIME=1440
//STEP1 EXEC PGM=MYPROGRAM,TIME=1440


Optimize the Program:
Review the program logic to identify and optimize any inefficiencies. Ensure there are no infinite loops or unnecessarily long processing steps.

Break Down the Job:
If the job performs multiple tasks, consider breaking it down into smaller jobs or steps that can be executed separately.

Check Resource Availability:
Ensure that sufficient system resources (CPU, memory) are available for the job. High system load can cause jobs to be canceled due to exceeding resource limits.

Operator Actions:
Communicate with the system operator to understand why the job was canceled. If it was a manual action, clarify the reasons and see if adjustments can be made to avoid future cancellations.

Use Performance Monitoring Tools:
Utilize mainframe performance monitoring tools to track CPU usage and job performance. Tools like IBM's OMEGAMON, CA SYSVIEW, or BMC MainView can help identify bottlenecks.
Back to top
View user's profile Send private message
mmwife

Super Moderator


Joined: 30 May 2003
Posts: 1592

PostPosted: Sun Jan 14, 2007 8:06 am
Reply with quote

Other likely causes are:

The operator thought the job was in a loop (or wait state) and he cancelled.

The operator needed resources used by the job for production work and he cancelled.

The operator thought 3 hrs was enough time for a test job (and nobody told him about a special case) and he cancelled.

The operator thought he'd "teach this guy a lesson" and he cancelled.
Back to top
View user's profile Send private message
raak

Active User


Joined: 23 May 2006
Posts: 166
Location: chennai

PostPosted: Fri Mar 09, 2007 4:08 pm
Reply with quote

hey there,

In our shop, we are supposed to use different value for CLASS in the jobstep if the jcl contains any Tape dataset.

I.e if we have a tape dataset in the jcl, we use CLASS=R, otherwise CLASS=N..

And the catch is; If u don't give the correct value for class, then the job is going to abend with S222.
For example, if i try to run a jcl which uses a tape dataset and i have given CLASS=N in the jobcard, then I get an S222.

Since u mentioned about the tape datasets, u can check for such a case also...
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> ABENDS & Debugging

 


Similar Topics
Topic Forum Replies
No new posts ABEND 0717 during starting IMS IMS DB/DC 0
No new posts Call an hlasm from REXX in batch and ... CLIST & REXX 4
No new posts What is the most complex abend you've... Mainframe Interview Questions 8
No new posts ISAM and abend S03B JCL & VSAM 10
No new posts Abend S0C4 11 (Page Translation Excep... PL/I & Assembler 16
Search our Forums:

Back to Top