I don't see what 0C4 is telling you vis-a-vis APF authorization. I think it's
more likely that you've told the binder that the program is RENT and it's
not. If you have REFRPROT set in your PROGxx parmlib member, then it's going
to get loaded into read-only storage and when it tries to modify itself, it
gets the 0C4. i.e. I'd debug the 0C4 rather than randomly changing link
options or library locations.
 

In article 
<df4pr84mb02046ae50e07b47303ff2182ee...@df4pr84mb0204.namprd84.prod.outlook.com>
 you wrote:
> Simple question, but the behavior I am seeing flies in the face of what I 
> *thought* I knew about APF authorization.

> The crux of it is - I have a program object that is linked AC(00).  When this 
> program is executed out of an APF-authorized library, it S0C4s. When I revoke 
> the authorization on the library and re-run the test, it works.

> I had been under the (maybe-mistaken) impression that if you didn't have 
> *both* AC(1) *and* be running out of an APF-authed library, you wouldn't get 
> APF authorization - so I thought that the AC(00) version should work just 
> fine out of the APF-authorized library - but it doesn't.

> Any help would be appreciated.

> Additional facts:  program is PL/I (LE), chopped the source way back to just 
> this:

>   ZPXPLIA:

>     Proc Options(Main);
>     Put skip list("Hello, world!");

>   end ZPXPLIA;

> The compile and bind are done with:

> <snip>
> //PLI      EXEC PGM=IBMZPLI,REGION=0K,TIME=999,
> //             PARM=('MAP,LC(80),NEST,S',SYSTEM(MVS),
> //        'LIST,AG,A,X,C')
> //**** MAP = print info from compile for use when reading dumps.
> //**** LC(80) = LINECOUNT(80) = number of lines per page on listing.
> //**** NEST = listing indicates nest level and block level.
> //**** S = SOURCE = print the source on the compiler listing.
> //**** SYSTEM(MVS) = this is an ordinary batch program.
> //**** LIST = product the pseudo-assembler listing.
> //**** AG = AGGREGATE = produce a table of sizes of items in the listing.
> //**** A = ATTRIBUTES = produce a table of attributes in the listing.
> //**** X = XREF = create a cross-reference in the listing.
> //**** C = COMPILE = generate code unless there is a severe error.
> //SYSIN    DD  DISP=SHR,DSN=&SAMPLIB..SAMPLIB(ZPXPLIA)
> <snip>
> //LKED     EXEC PGM=IEWBLINK,COND=(4,LT),
> //             PARM='LIST,MAP,LET,RENT'
> //SYSPRINT DD    SYSOUT=*
> //SYSLIB   DD    DISP=SHR,DSN=&LECEEHLQ..SCEELKED
> //SYSLMOD  DD    DISP=SHR,DSN=&LOAD
> //SYSUT1   DD    UNIT=SYSDA,SPACE=(CYL,(3,1))
> //TEMP     DD    DISP=(OLD,DELETE),DSN=&&TEMP
> //SYSLIN   DD    *
>    INCLUDE TEMP
>    NAME ZPXPLIA(R)
> /*
> <snip>

> Thanks in advance- I am sure I must be misunderstanding something...

> Rich Way
> HPE Security - Data Security
> HPE Software | Enterprise Security Products
> 1140 Enterprise Way, Mail Stop 3048
> Sunnyvale, CA 94089

> [HPE logo]<http://www.hpe.com/>

-- 
Don Poitras - SAS Development  -  SAS Institute Inc. - SAS Campus Drive
[email protected]           (919) 531-5637                Cary, NC 27513

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

Reply via email to