-
Too busy driving to stop for gas!

-----Original Message-----
From: Frank Swarbrick <[email protected]>

Date:         Wed, 29 Jul 2009 16:15:29 
To: <[email protected]>
Subject: Re: Of link lists and application programs


I want to thank everyone who has chimed in on this.
It sounds like we need to use LNKAUTH=APFTAB instead of the default of 
LNKAUTH=LNKLST so that our APPL libraries will not be APF authorized when 
accessed via the LNKLST concatentation (or via a STEPLIB/JOBLIB for that 
matter).  We certainly would not want this.

Can someone tell me if I have the following correct?  Let's say we have two 
libraries, SYS2.LIB1 and SYS2.LIB2.  Let's further say we have a PROGxx with 
these entries:

APF FORMAT(DYNAMIC)    
APF ADD DSNAME(SYS2.LIB1) SMS
LNKLST DEFINE NAME(LNKLST00)
LNKLST ADD NAME(LNKLST00) DSN(SYS2.LIB1)
LNKLST ADD NAME(LNKLST00) DSN(SYS2.LIB2)
LNKLST ACTIVATE NAME(LNKLST00)

Given LNKAUTH=LNKLST:
1a) SYS2.LIB1 is APF authorized when accessed via the LNKLST concatenation.
1b) SYS2.LIB2 is APF authorized when accessed via the LNKLST concatenation.
2a) SYS2.LIB1 is APF authorized when accessed via a JOBLIB/STEPLIB 
concatenation as long as all other libraries in the concatenation are also APF 
authorized.
2a) SYS2.LIB2 is unauthorized when accessed via a JOBLIB/STEPLIB concatenation.


Given LNKAUTH=APFLIB:
1a) SYS2.LIB1 is APF authorized when accessed via the LNKLST concatenation.
1b) SYS2.LIB2 is unauthorized when accessed via the LNKLST concatenation.
2a) SYS2.LIB1 is APF authorized when accessed via a JOBLIB/STEPLIB 
concatenation as long as all other libraries in the concatenation are also APF 
authorized.
2a) SYS2.LIB2 is unauthorized when accessed via a JOBLIB/STEPLIB concatenation.

Thanks,
Frank

-- 

Frank Swarbrick
Applications Architect - Mainframe Applications Development
FirstBank Data Corporation
Lakewood, CO  USA
P: 303-235-1403
F: 303-235-2075


On 7/24/2009 at 5:30 PM, in message <[email protected]>,
Frank Swarbrick <[email protected]> wrote:
> A little while ago I had posed a question about having "applications" 
> libraries in the system LNKLST.  Some were for it, some were against it.  One 
> of the prominent reasons for being against it was the need to do an LLA 
> refresh after implementing any changes to an application library.  I agreed 
> that this was a disadvantage and looked around to see if I could get around 
> it.
> 
> What I found was that you can have libraries *excluded* (removed) from the 
> LLA.  This is done by use of the REMOVE directive in the CSVLLAxx member.  I 
> took my proposal to our systems programmers and here is what they implemented 
> (in our development system only, so far):
> 
> 'DEVC80.PARMLIB(PROG11)':  [no changes, just information]
> APF FORMAT(DYNAMIC)
> APF ADD            
>    lots off APF stuff
> LNKLST DEFINE NAME(LNKLST00)                 
> LNKLST ADD NAME(LNKLST00) DSN(SYS1.LINKLIB)  
> LNKLST ADD NAME(LNKLST00) DSN(SYS1.MIGLIB)   
> LNKLST ADD NAME(LNKLST00) DSN(SYS1.CSSLIB)   
> LNKLST ADD NAME(LNKLST00) DSN(SYS1.SIEALNKE) 
> lots more system libraries
> LNKLST ACTIVATE NAME(LNKLST00)
> 
> 'DEVC80.PARMLIB(PROGAP)':  [these are the PROD APPL libraries to go in 
> LNKLST]
> LNKLST DEFINE NAME(LNKLSTAP) COPYFROM=CURRENT                  
> LNKLST ADD NAME(LNKLSTAP) DSN(PROD.APPL.DFSRESL) VOLUME(PRO101)
> LNKLST ADD NAME(LNKLSTAP) DSN(EMER.APPL.LOADLIB) VOLUME(TSO001)
> LNKLST ADD NAME(LNKLSTAP) DSN(PROD.APPL.LOADLIB) VOLUME(PRO108)
> LNKLST ACTIVATE NAME(LNKLSTAP)                                 
> 
> 'DEVC80.PARMLIB(IEASYS11)':  [loads the four PROGxx members]
> PROG=(11,CI,DB,AP)   PROGCI and PROGDB are other system libraries (CICS and 
> DB2 respectively)  These used to all be in PROG11, but it looks like someone 
> started splitting them out.  Good for them!
> lots of other stuff
> 
> 'DEVC80.PARMLIB(CSVLLAAP)':  [remove prod appl libs from LLA!!]
> REMOVE(EMER.APPL.LOADLIB,  PROD.APPL.DFSRESL,  PROD.APPL.LOADLIB)
> 
> 'DEVC80.PARMLIB(IEACMD00)':  [start LLA, invoking the CSVLLAAP member 
> instructions]
> COM='START LLA,SUB=MSTR,LLA=AP'
> 
> From my perspective this works exactly as I, an applications developer, 
> desire.  It has neither the advantages nor the disadvantages of LLA 
> controlled libraries.  I am fine with this.
> 
> Systems is concerned about system integrity.  Rightly so.  LNKLST has 
> historically been for systems libraries only.  But since there is no similar 
> facility for business applications libraries this seems to be the only way I 
> can get what I want.  In any case, does anyone see any obvious issues with 
> this?  One concern is that the APPL libraries would automatically become APF 
> authorized, which of course is a no-no.  That does not *appear* to have 
> occured:
> 
> /D PROG,LNKLIST
> RESPONSE=ZOSD                        
>  CSV470I 17.22.12 LNKLST DISPLAY 224 
>  LNKLST SET LNKLSTAP   LNKAUTH=LNKLST
>  ENTRY  APF  VOLUME  DSNAME          
>     1    A   DEVR80  SYS1.LINKLIB    
>     2    A   DEVR80  SYS1.MIGLIB     
>     3    A   DEVR80  SYS1.CSSLIB     
>     4    A   DEVR80  SYS1.SIEALNKE   
>    etc.
>    60    A   DB2001  SYS3.DSN910.SDSNEXIT
>    61    A   DB2001  SYS3.DSN910.SDSNLINK
>    62        DB2001  SYS3.DSN910.SDSNLOD2
>    63    A   DB2001  SYS3.DSN910.SDSNLOAD
>    64        *SMS*   PROD.APPL.DFSRESL   
>    65        *SMS*   EMER.APPL.LOADLIB   
>    66        *SMS*   PROD.APPL.LOADLIB   
> 
> /D PROG,APF does not show the APPL libraries.
> 
> /D LLA does not show the APPL libraries.
> 
> All of the above are as I would expect.
> 
> The only concern I have at this point, and it's a very very minor one, is 
> that if you add an application library to the LNKLST you also have to 
> remember to REMOVE it from the LLA.  But since I don't anticipate there being 
> changes often or at all (after implentation) to these I'm not too worried.
> 
> Thanks!
> Frank

>>> 

The information contained in this electronic communication and any document 
attached hereto or transmitted herewith is confidential and intended for the 
exclusive use of the individual or entity named above.  If the reader of this 
message is not the intended recipient or the employee or agent responsible for 
delivering it to the intended recipient, you are hereby notified that any 
examination, use, dissemination, distribution or copying of this communication 
or any part thereof is strictly prohibited.  If you have received this 
communication in error, please immediately notify the sender by reply e-mail 
and destroy this communication.  Thank you.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to