2017-05-14 14:37:47 UTC
Hopefully this info will help get you out of a jam sometime......
GETTING RID OF AN ADDRESS SPACE (or WHACKING A JOB)
In my career as a system doctor, I've had trouble, more than
once, in getting rid of an address space that was malfunctioning, and
starting over. Sometimes the address space was marked "NON-CANCELABLE"
and I've even seen address spaces marked "NON-FORCIBLE".
Mentioning this problem to fellow sysprogs, I've gotten answers
like: "You've got to learn how to use FORCE correctly." Or they'd say
some similar nonsense. Sometimes they're right. But a bunch of times,
there are a couple of bits in the way. And if you can't get past them,
you can't get rid of the job or other address space. I've seen this
situation force an IPL in the middle of the day. (NO GOOD....!!!)
So what do you do? There are two free APF-authorized TSO commands
which can help you.
One is called CSCF, and it is on CBT File 954. The other is
called CNCLPG, and it is on CBT File 826 (Updates Page). CSCF can
get rid of the main offending bits. CNCLPG (with the KILL option)
can do that, and then whack the job or address space.
Both of these commands do multiple functions. But to get rid of
a job or system task, you first need to change its status to CANCELABLE
or FORCIBLE, and then you need to CANCEL it or FORCE it. Sometimes,
you can just "whack it". To do so, use the KILL subcommand of the
CNCLPG command (Updates page of www.cbttape.org).
The KILL subcommand of CNCLPG will do a CALLRTM TYPE=MEMTERM
operation on the address space, but before it does so, it turns off the
ASCBNOMT and ASCBNOMD bits in the ASCB. ASCBNOMT is what makes a job
"NON-FORCIBLE", and ASCBNOMD off, makes it FORCIBLE even if the error
was a DAT error. THEN the KILL subcommand does the CALLRTM MEMTERM.
In that way, KILL makes sure that nothing will get in the way of the
"FORCE" operation, and the address space will be duly "whacked". Then
you can start it over.
One note of caution: You have to whack or alter he correct
address space. If you don't, you can cause havoc.
WHY? Both CNCLPG and CSCF have to run the CSCB chain. This is
a chain representing all the active jobs, system tasks, and TSU's in
the system. Sometimes there are many address spaces with the SAME
name. And there can be more than one address space with the SAME
ASID (I bet you didn't know that). So in order to make sure you are
altering the correct address space, you have to specify BOTH the ASID
and the JOBNAME when you run CNCLPG.
How do you get that information in the first place?
Run CNCLPG with the DISPLAY command.
The DISPLAY command will show all matches and all occurrences.
So if you run CNCLPG jobname DISP, you will see all the CSCB
entries matching your jobname, and you can specify the one with the
correct ASID by using the ASID(hex) parameter together with the
Do this first, and you won't be sorry later. Do DISP several
times, until you see only one entry--the entry that you want to alter.
Best of everything. Use this in good health......
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN