Larre,

Is it possible that the SMS ACS routines are not handling the dynamic tape allocation properly?

Another thought is does the step require TSO? If TSO is not required and the program can be called from REXX, can the step execute IRXJCL instead of IKJEFT1A?

Alan

Larre Shiller wrote:
Hello -

Please excuse the lack of detail in this post... I'm not a COBOL programmer and quite a 
bit of what is happening here is either outside of my scope of understanding and 
experience or I have no way to directly test some of this.   There are quite a few 
"moving parts" involved and I'm not sure which one may be the culprit.

We have a production batch job that executes DB2 and a COBOL program using TSO in batch 
(IKJEFT1A).  The COBOL program dynamically allocates DASD data sets as input using PUTENV 
and standard COBOL SELECT and OPEN statements.  The COBOL program uses the CATALOG to get 
the data set names it is interested in uses the DSN to do the OPEN.  This has been 
working for years.  Unfortunately, some of the input data sets chaned from DASD data sets 
to TAPE data sets and the job is now getting "failure to allocate" messages:

IKJ56221I DATA SET FOO.BAR NOT ALLOCATED, VOLUME NOT AVAILABLE+

IKJ56221I VOLUME  NECESSARY TO SATISFY YOUR REQUEST NOT ON SYSTEM, AND CANNOT 
BE MOUNTED

...and since we are a JES3 shop, this one gets thrown in as well:

IEF295I FOO.BAR - VOLUME MOUNTING NOT ALLOWED BUT IS NEEDED BY JES3 
INITIALIZATION

I find the IEF295I message (and descriptive text) to be especially cryptic and confusing. 
 I'm not quite sure what failure to mount a volume has to do with "JES3 
INITIALIZATION", but I suspect the message is probably just ancient and poorly 
worded...

I opened a PMR with IBM, but the essence of what I'm getting back just boils down to 
"...you can't mount a tape from a batch job executing TSO...".  And although 
that certainly seems to be the case here, I guess I'm just skeptical.  And I can't seem 
to find that blanket restriction specifically documented anywhere.

I have found numerous other "can I dynamically allocate a data set from a COBOL 
program" posts on the Interwebs and I have read quite a few of them, but none of 
them specifically mention tape--at least not the ones that I can find.  And one would 
think that if that were a restriction, it would have been discussed or mentioned in at 
least *one* of them...!  But maybe not.  We even tried adding a TSO segment to the batch 
userID and gave it MOUNT authority, but that did not help.  It seems awfully odd that 
there is no way to permit this, if this is indeed a default behavior/restriction... after 
all, even with the TSO restriction, you can still override it with UADS or TSOAUTH...!

I guess I'm just looking for definitive confirmation one way or the other and 
was hoping that somebody would have specific knowledge or experience here.

Thanks for any help...

Larre Shiller
US Social Security Administration

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to