Upon further investigation of the code, APF authorization by itself is 
not sufficient.
There is also an internal undocumented part of the IKJTSOEV interface 
which 
IDCAMS uses.

  There is no way to remove the environment created by IKJTSOEV (other 
than
job step termination).   There is no mechanism in TSO/E to serialize 
against deletion
of control blocks created by IKJTSOEV, so it is not safe to delete them. 
 
Jim Mulder z/OS Diagnosis, Design, Development, Test  IBM Corp. 
Poughkeepsie NY


> Jim-
> Thanks, so we need to apply the PTF. I will changes my code to check for
> PSCBJCL and only force it on if necessary.
> 
> Cheers
> Robin
> 
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]] On
> Behalf Of Jim Mulder
> Sent: 09 November 2016 10:05
> To: [email protected]
> Subject: Re: DAIR error 0470 allocating internal reader
> 
> The  OA50565 fix changed  the TSO/E environment service to turn on 
PSCBJCL 
> 
> when running in an APF authorized jobstep (i.e. when JCSBAUTH is on). 
> IDCAMS is linked in SYS1.LINKLIB with AC(1), so an EXEC PGM=IDCAMS 
jobstep
> is APF authorized. 
> 
> 
> Jim Mulder z/OS Diagnosis, Design, Development, Test  IBM Corp. 
> Poughkeepsie NY
> 
> 
> > A venerable STC started getting 0470 ("user unauthorized for
> > subsystem") when trying to allocate an INTRDR after we added a lot of 
> > new function in a separate subtask. Disabling the new subtask allowed 
> > the allocation to work as before.
> > Searching I found OA50565 which describes the same thing happening to 
> > IDCAMS. The problem was the new subtask was calling IKJTSOEV and that 
> > causes the PSCBJCL flag to be turned off so the task cannot submit 
> > jobs. The apar states that IDCAMS now establishes a TSF with the 
> > PSCBJCL on without saying how. I tried forcing the PSCBJCL flag on 
> > after the call to IKJTSOEV but that resulted in an LE exception when I 

> > tried the allocation in the other task. Toggling the flag in the task 
> > that does the allocation seems to work OK so far: I set the flag on, 
> > allocate the INTRDR, turn it off and nobody seems to notice.
> > 
> > I am not too happy with this arrangement! Does someone know how to 
> > establish the TSF with the PSCBJCL flag on as in IDCAMS, or equally 
> > good, how to cancel the TSF once it is established. I could find no 
> > function call that does that.



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

Reply via email to