I'm hoping someone can see what I'm doing wrong/have misunderstood here. I only
wrote some of the following code, which doesn't help (OK, I wrote most of the
snippet, but not the rest of it).
Here's the scenario: this is running in a stacking, space-switching PC routine.
We're trying to get an STOKEN to the address space containing the caller's
ACEE, so that later we can do an ALESERV ADD and then a RACROUTE
REQUEST=FASTAUTH with ACEE= and ACEEALET=.
For batch and CICS, this works fine (yes, we're finding the other ACEE that
CICS creates for CICS users); we're using the STOKEN passed on the PC, of
course. For DB2 user exits, there's a second (well, third) address space
involved: instead of just ours and the client program's, there's ours, the
client program's, and DB2's.
The first two lines of code work, in that they allow us to correctly address
the ACEE in R2 in code just after the snippet. The LOCASCB and the rest of the
code seems to work, too.
What doesn't work is that later on, in the bowels of the STC, when we're trying
to do the RACROUTE, the ALESERV ADD works--it doesn't return an error--but the
FASTAUTH fails. Running with NOTIFY on the resource shows:
ICH70004I USER( ) GROUP() NAME(???)
...so that makes me conclude that somehow the STOKEN we're getting isn't the
right one. I've looked at the results and in the "good" (batch) case the STOKEN
is 0000006C 00000002 and in the "bad" (DB2) case it's 00000114 00000001. So
those both LOOK like STOKENs, at least.
Am I missing something basic here about how ALESERV works? My impression is
that since we're a key 0, APF-authorized task with EAX authority to all address
spaces, this *should* work. It doesn't, so obviously I have a misunderstanding
or something dumb in the code.
LA R1,2 Secondary space address number
SAR AR2,R1 Make AR2 secondary space
ESAR R4 Get secondary ASID
LOCASCB ASID=(4) Get ASCB for that ASID
LTR R1,R1 Did that work??
BZ ABENDIT No, ABEND
USING ASCB,R1 Address ASCB briefly
L R1,ASCBASSB Get ASSB address
DROP R1 Done with ASCB already
USING ASSB,R1 Address ASSB briefly
CLC ASSBASSB(4),=CL4'ASSB' ASSB eyecatcher there??
BNE ABENDIT No, ABEND
MVC SRQESTKN(8),ASSBSTKN Copy the STOKEN
I will owe someone a beer at SCIDS (I hope!)...
...phsiii
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN