Chris et al,

Since I'm the OP, here is the detail of what has me so confused.  Sorry for the 
length of the post, but it's the only way to show why I'm befuddled.  I read 
your first post talking about the APF versus LINKLIST versus JOBLIB and I agree 
with you - that was/is how I understood APF to work.  However, the chain of 
events below don't bear this understanding out.  My guess is that SyncSort 
might be doing some funky things under the covers but that is a WAG.

Here's the RD condensed version:

Job 1: abend 306, 2 non-APF syncsort libs in JOBLIB, abend on module in 
SYNCRENT.
Job 2: abend 306, 1 non-APF lib in JOBLIB (I removed SYNCRENT so it would pull 
from LNKLST), abend on module in SYNCLINK.
Job 3: RC=0, no JOBLIB, all SS modules coming from LNKLST.
Job 4: RC=0, APF authorized 2 SS libraries, only libraries in JOBLIB
Job 5: RC=0, 6 libs in JOBLIB including 2 APF SS libs, 1 lib not LNKLST, not 
APF, 3 LNKLST, not specified APF (LNKAUTH=LNKLST)
Job 6: RC=0, added 7th lib to JOBLIB, new library definitely not either LNKLST 
or APF
Job 7: abend 306, production job containing same concatenation as job 5.  Abend 
due to trying to load module from SYNCRENT - same as job 1.
Job 8: not shown here, I APF authorized the libraries in the JOBLIB and reran 
job 7.



First job (with some allocation type snippage for brevity' sake - I also am 
running something called VSAMTUNE but that doesn't seem to be having any 
bearing here)  Module SS14RC02 is in the SYNCRENT library in the JOBLIB 
concatenation.

14.48.44 JOB01781 ---- WEDNESDAY, 18 DEC 2013 ----                              
                        
14.48.44 JOB01781  IRR010I  USERID RRP4912  IS ASSIGNED TO THIS JOB.            
                        
14.48.44 JOB01781  ICH70001I RRP4912  LAST ACCESS AT 14:48:09 ON WEDNESDAY, 
DECEMBER 18, 2013           
14.48.44 JOB01781  $HASP373 RRPIDCM  STARTED - INIT 29   - CLASS T - SYS ZOS1   
                        
14.48.44 JOB01781  IEF403I RRPIDCM - STARTED - TIME=14.48.44                    
                        
14.48.45 JOB01781  CSV019I REQUESTED MODULE SS14RC02 NOT ACCESSED, IS IN 
NON-APF LIBRARY/CONCATENATION  
14.48.45 JOB01781  CSV028I ABEND306-0C  JOBNAME=RRPIDCM   STEPNAME=STEP1        
                        
14.48.45 JOB01781  WER999A RRPIDCM ,STEP1   ,        -  UNSUCCESSFUL SORT 306 S 
REASON=0000000C         
14.48.45 JOB01781  IEC130I SPYSET   DD STATEMENT MISSING                        
                        
14.48.45 JOB01781  IEA995I SYMPTOM DUMP OUTPUT  586   
.
.
//RRPIDCM  JOB (040423,495),RRP,CLASS=T,MSGCLASS=X,MSGLEVEL=(1,1), 
//             NOTIFY=&SYSUID                                      
IEFC653I SUBSTITUTION JCL - (040423,495),RRP,CLASS=T,MSGCLASS=X,MSG
//JOBLIB DD  DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCLINK.NEW,DISP=SHR        
<<<<<<These are not APF authorized at this point
//       DD  DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCRENT.NEW,DISP=SHR        <<<<<< 
verified by a D PROG,APF
//STEP1  EXEC  PGM=IDCAMS                                          
//BASECL  DD  DSN=TSD.REX.AG.AGENT.MASTER,DISP=SHR                 
//SYSPRINT  DD  SYSOUT=*                                           
//SYSIN   DD  *                                                    
   DELETE TSD.REX.AG.AGENT.MASTER.AIX                    - 
    AIX                                                  - 
    PURGE                                                  
   DEFINE AIX                                            - 
  ( NAME(TSD.REX.AG.AGENT.MASTER.AIX)                    - 
    RELATE(TSD.REX.AG.AGENT.MASTER)                      - 
    FREESPACE(0 0)                                       - 
    KEYS(9 1383)                                         - 
    RECORDSIZE(25 1508)                                  - 
    SHAREOPTIONS(2 3)                                    - 
    RECOVERY                                             - 
    NONUNIQUEKEY)                                        - 
          DATA                                           - 
  ( NAME(TSD.REX.AG.AGENT.MASTER.AIX.DATA)               - 
    TRACKS(5 5)                                          - 
    CISZ(8192))                                          - 
          INDEX                                          - 
  ( NAME(TSD.REX.AG.AGENT.MASTER.AIX.INDEX)              - 
    TRACKS(1 1)                                          - 
    CISZ(1024))                                            
                                                           
       BIX     INFILE (BASECL)                           -
               ODS (TSD.REX.AG.AGENT.MASTER.AIX)         -  
               NOSORTCALL                                   
                                                            
       DEFINE PATH -                                        
               (NAME(TSD.REX.AG.AGENT.MASTER.PATH)       -  
               PATHENTRY(TSD.REX.AG.AGENT.MASTER.AIX))      

IDCAMS  SYSTEM SERVICES                                       
                                                               
    DELETE TSD.REX.AG.AGENT.MASTER.AIX                    -    
     AIX                                                  -    
     PURGE                                                     
 IDC0550I ENTRY (R) TSD.REX.AG.AGENT.MASTER.PATH DELETED       
 IDC0550I ENTRY (D) TSD.REX.AG.AGENT.MASTER.AIX.DATA DELETED   
 IDC0550I ENTRY (I) TSD.REX.AG.AGENT.MASTER.AIX.INDEX DELETED  
 IDC0550I ENTRY (G) TSD.REX.AG.AGENT.MASTER.AIX DELETED        
 IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0     
                                                               
    DEFINE AIX                                            -    
   ( NAME(TSD.REX.AG.AGENT.MASTER.AIX)                    -    
     RELATE(TSD.REX.AG.AGENT.MASTER)                      -    
     FREESPACE(0 0)                                       -    
     KEYS(9 1383)                                         -    
     RECORDSIZE(25 1508)                                  -    
     SHAREOPTIONS(2 3)                                    -    
     RECOVERY                                             -    
                                                               
     NONUNIQUEKEY)                                        -     
           DATA                                           -     
   ( NAME(TSD.REX.AG.AGENT.MASTER.AIX.DATA)               -     
     TRACKS(5 5)                                          -     
     CISZ(8192))                                          -     
           INDEX                                          -     
   ( NAME(TSD.REX.AG.AGENT.MASTER.AIX.INDEX)              -     
     TRACKS(1 1)                                          -     
     CISZ(1024))                                                
 IDC0508I DATA ALLOCATION STATUS FOR VOLUME MRS070 IS 0         
 IDC0508I DATA ALLOCATION STATUS FOR VOLUME *      IS 0         
IDC0509I INDEX ALLOCATION STATUS FOR VOLUME MRS070 IS 0    
IDC0509I INDEX ALLOCATION STATUS FOR VOLUME *      IS 0    
IDC0181I STORAGECLASS USED IS NORMAL                       
IDC0181I MANAGEMENTCLASS USED IS DUMPONLY                  
IDC0181I DATACLASS USED IS DCVSAM                          

***note the BIX doesn't even show up in the IDCAMS output. 


Next job, I removed the SYNCRENT library from the concatenation, thereby 
allowing SS14RC02 to be loaded from the older SYNCRENT library in the LINKLIST. 
 This job abends on module SS14A32, located in the SYNCLINK library.


14.49.46 JOB01818  $HASP373 RRPIDCM  STARTED - INIT 29   - CLASS T - SYS ZOS1   
                       
14.49.46 JOB01818  IEF403I RRPIDCM - STARTED - TIME=14.49.46                    
                        
14.49.47 JOB01818  CSV019I REQUESTED MODULE SS14A32  NOT ACCESSED, IS IN 
NON-APF LIBRARY/CONCATENATION 
14.49.47 JOB01818  CSV028I ABEND306-0C  JOBNAME=RRPIDCM   STEPNAME=STEP1        
                       
14.49.47 JOB01818  WER999A RRPIDCM ,STEP1   ,        -  UNSUCCESSFUL SORT 306 S 
REASON=0000000C        
14.49.47 JOB01818  IEC130I SPYSET   DD STATEMENT MISSING                        
                       
14.49.47 JOB01818  IEA995I SYMPTOM DUMP OUTPUT  964                             
                       
.
.
//RRPIDCM  JOB (040423,495),RRP,CLASS=T,MSGCLASS=X,MSGLEVEL=(1,1),      
//             NOTIFY=&SYSUID                                           
IEFC653I SUBSTITUTION JCL - (040423,495),RRP,CLASS=T,MSGCLASS=X,MSGLEVEL
//JOBLIB DD  DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCLINK.NEW,DISP=SHR          
//*      DD  DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCRENT.NEW,DISP=SHR          
//STEP1  EXEC  PGM=IDCAMS                                               
//BASECL  DD  DSN=TSD.REX.AG.AGENT.MASTER,DISP=SHR                      
//SYSPRINT  DD  SYSOUT=*                                                
//SYSIN   DD  *                                                         
.
Same delete/define/BIX as first job, again the output doesn't show the BIX 
command as being executed.
.
.
.



Next test I completely removed the JOBLIB and the job ran fine which was 
expected:


14.50.27 JOB01822  $HASP373 RRPIDCM  STARTED - INIT 29   - CLASS T - SYS ZOS1   
    
14.50.27 JOB01822  IEF403I RRPIDCM - STARTED - TIME=14.50.27                    
    
14.50.28 JOB01822  -                                      -----TIMINGS 
(MINS.)------
14.50.28 JOB01822  -STEPNAME PROCSTEP    RC   EXCP   CONN       TCB       SRB  
CLOCK
14.50.28 JOB01822  -STEP1                00    250    306       .00       .00   
  .0
14.50.28 JOB01822  IEF404I RRPIDCM - ENDED - TIME=14.50.28                      
    

//RRPIDCM  JOB (040423,495),RRP,CLASS=T,MSGCLASS=X,MSGLEVEL=(1,1),   
//             NOTIFY=&SYSUID                                        
//*JOBLIB DD  DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCLINK.NEW,DISP=SHR      
//*      DD  DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCRENT.NEW,DISP=SHR       
//STEP1  EXEC  PGM=IDCAMS                                            
//BASECL  DD  DSN=TSD.REX.AG.AGENT.MASTER,DISP=SHR                   
//SYSPRINT  DD  SYSOUT=*                                             
//SYSIN   DD  *                                                      
.
.
Same sysin
.
.

   DELETE TSD.REX.AG.AGENT.MASTER.AIX                    -       
    AIX                                                  -       
    PURGE                                                        
IDC0550I ENTRY (D) TSD.REX.AG.AGENT.MASTER.AIX.DATA DELETED      
IDC0550I ENTRY (I) TSD.REX.AG.AGENT.MASTER.AIX.INDEX DELETED     
IDC0550I ENTRY (G) TSD.REX.AG.AGENT.MASTER.AIX DELETED           
IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0        
                                                                 
   DEFINE AIX                                            -       
  ( NAME(TSD.REX.AG.AGENT.MASTER.AIX)                    -       
    RELATE(TSD.REX.AG.AGENT.MASTER)                      -       
.
. snippage of successful define
.
IDC0181I STORAGECLASS USED IS NORMAL                      
 IDC0181I MANAGEMENTCLASS USED IS DUMPONLY                 
 IDC0181I DATACLASS USED IS DCVSAM                         
 IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0 
                                                           
                                                           
        BIX     INFILE (BASECL)                           -
                ODS (TSD.REX.AG.AGENT.MASTER.AIX)         -
                INTERNALSORT                               
 IDC0652I TSD.REX.AG.AGENT.MASTER.AIX SUCCESSFULLY BUILT   
 IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0



Next test I APF authorized the 2 SyncSort libraries and then reran my test.  As 
expected, it ran clean.


14.54.50 JOB01906  $HASP373 RRPIDCM  STARTED - INIT 29   - CLASS T - SYS ZOS1   
     
14.54.50 JOB01906  IEF403I RRPIDCM - STARTED - TIME=14.54.50                    
     
14.54.52 JOB01906  -                                      -----TIMINGS 
(MINS.)------ 
14.54.52 JOB01906  -STEPNAME PROCSTEP    RC   EXCP   CONN       TCB       SRB  
CLOCK 
14.54.52 JOB01906  -STEP1                00    273    400       .00       .00   
  .0 
14.54.52 JOB01906  IEF404I RRPIDCM - ENDED - TIME=14.54.52                      
     

//RRPIDCM  JOB (040423,495),RRP,CLASS=T,MSGCLASS=X,MSGLEVEL=(1,1), 
//             NOTIFY=&SYSUID                                      
//JOBLIB DD  DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCLINK.NEW,DISP=SHR     
//      DD  DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCRENT.NEW,DISP=SHR      
//STEP1  EXEC  PGM=IDCAMS                                          
//BASECL  DD  DSN=TSD.REX.AG.AGENT.MASTER,DISP=SHR                 
//SYSPRINT  DD  SYSOUT=*                                           
//SYSIN   DD  *                                                    
.
. same SYSIN cards
.

    DELETE TSD.REX.AG.AGENT.MASTER.AIX                    -    
     AIX                                                  -    
     PURGE                                                     
 IDC0550I ENTRY (R) TSD.REX.AG.AGENT.MASTER.PATH DELETED       
 IDC0550I ENTRY (D) TSD.REX.AG.AGENT.MASTER.AIX.DATA DELETED   
 IDC0550I ENTRY (I) TSD.REX.AG.AGENT.MASTER.AIX.INDEX DELETED  
 IDC0550I ENTRY (G) TSD.REX.AG.AGENT.MASTER.AIX DELETED        
 IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0     
                                                               
    DEFINE AIX                                            -    
   ( NAME(TSD.REX.AG.AGENT.MASTER.AIX)                    -    
.
.
IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0        
                                                                 
                                                                 
       BIX     INFILE (BASECL)                           -       
               ODS (TSD.REX.AG.AGENT.MASTER.AIX)         -       
               NOSORTCALL                                        
IDC0652I TSD.REX.AG.AGENT.MASTER.AIX SUCCESSFULLY BUILT          
IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0        
                                                                 
                                                                 
       DEFINE PATH -                                             
               (NAME(TSD.REX.AG.AGENT.MASTER.PATH)       -       
               PATHENTRY(TSD.REX.AG.AGENT.MASTER.AIX))           
IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0        
                                                                 
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0



Now is where it gets strange:  I added several additional libraries to the 
JOBLIB.  Three of the libraries are in the LINKLIST which is defined as 
LINKAUTH but one (the first) is not.  None of them was in the APF list.  I also 
verified based off one of the responses, that neither IDCAMS nor any of the 
SyncSort modules are in any of these additional libraries, so nothing should be 
loaded from any of them.  The only thing that should be loaded from the JOBLIB 
would be the SyncSort modules.  My thought was that the job SHOULD fail, due to 
the SS modules being now loaded from non-APF libraries, since they are in a 
mixed JOBLIB.  This is the way it is supposed to work, right? -where anything 
loaded from the JOBLIB will be loaded unauthorized because some of the 
libraries aren't authorized?  The job ran clean.

15.45.52 JOB02877  $HASP373 RRPIDCM  STARTED - INIT 29   - CLASS T - SYS ZOS1   
     
15.45.52 JOB02877  IEF403I RRPIDCM - STARTED - TIME=15.45.52                    
     
15.45.56 JOB02877  -                                      -----TIMINGS 
(MINS.)------ 
15.45.56 JOB02877  -STEPNAME PROCSTEP    RC   EXCP   CONN       TCB       SRB  
CLOCK 
15.45.56 JOB02877  -STEP1                00    356    489       .00       .00   
  .0 
15.45.56 JOB02877  IEF404I RRPIDCM - ENDED - TIME=15.45.56                      
     
15.45.56 JOB02877  -RRPIDCM  ENDED.  NAME-RRP                  TOTAL TCB CPU 
TIME=   
15.45.56 JOB02877  $HASP395 RRPIDCM  ENDED                                      
     

//RRPIDCM  JOB (040423,495),RRP,CLASS=T,MSGCLASS=X,MSGLEVEL=(1,1),   
//             NOTIFY=&SYSUID                                        
//JOBLIB   DD  DSN=MNL.TEST.VALD.LOADLIB,DISP=SHR                  <<< not in 
LL, not APF  
//         DD  DSN=CMAN.L70P.EMER.LOADLIB,DISP=SHR                 <<< in LL, 
not specifically APF  
//         DD  DSN=SYS1.MNL.PROD.VALD.LOADLIB,DISP=SHR             <<< in LL, 
not specifically APF    
//         DD  DSN=SYS1.SFG1B.SYNCSORT.R13.SYNCLINK,DISP=SHR       <<< in LL, 
not specifically APF    
//         DD  DISP=SHR,DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCLINK.NEW   << not in 
LL, specified in APF  
//         DD  DISP=SHR,DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCRENT.NEW   << not in 
LL, specified in APF    
//STEP1  EXEC  PGM=IDCAMS                                            
//BASECL  DD  DSN=TSD.REX.AG.AGENT.MASTER,DISP=SHR                   
//SYSPRINT  DD  SYSOUT=*                                             
//SYSIN   DD  *                                                      
.
. same SYSIN
.
        BIX     INFILE (BASECL)                           -  
                ODS (TSD.REX.AG.AGENT.MASTER.AIX)         -  
                NOSORTCALL                                   
 IDC0652I TSD.REX.AG.AGENT.MASTER.AIX SUCCESSFULLY BUILT     
 IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0   


So, to make absolutely, positively sure there was at least one non-APF 
authorized library in the concatenation, I created a new library, and added it 
to the JOBLIB and reran the job.  Once again the job ran clean.  Only showing 
JCL change here for brevity sake.

//RRPIDCM  JOB (040423,495),RRP,CLASS=T,MSGCLASS=X,MSGLEVEL=(1,1), 
//             NOTIFY=&SYSUID                                      
//JOBLIB   DD  DSN=MNL.TEST.VALD.LOADLIB,DISP=SHR                  
//         DD  DSN=CMAN.L70P.EMER.LOADLIB,DISP=SHR                 
//         DD  DSN=SYS1.MNL.PROD.VALD.LOADLIB,DISP=SHR             
//         DD  DSN=RRP4912.LOADLIB,DISP=SHR               <<< new empty 
library, not APF          
//         DD  DISP=SHR,DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCLINK.NEW   
//         DD  DISP=SHR,DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCRENT.NEW   
//STEP1  EXEC  PGM=IDCAMS                                          
//BASECL  DD  DSN=TSD.REX.AG.AGENT.MASTER,DISP=SHR                 
//SYSPRINT  DD  SYSOUT=*                                           



So by this time, I am thinking that my understanding of how APF modules is 
sorely lacking, and the whole mixed JOBLIB being not authorized is somehow a 
figment of my imagination and incorrect reading of the available documentation, 
I posted my original questions and went home.  Later last evening I got a call 
from operations due to a batch job abend - 306-0C.  Here's the relevant 'stuff' 
from this abended job which abended in STEP040:

19.28.21 JOB05240  -STEP035              00    186    306       .00       .00   
  .0            30  TS
19.28.26 JOB05240  CSV019I REQUESTED MODULE SS14RC02 NOT ACCESSED, IS IN 
NON-APF LIBRARY/CONCATENATION
19.28.26 JOB05240  CSV028I ABEND306-0C  JOBNAME=PBD125T   STEPNAME=AMSDEF       
                      
19.28.26 JOB05240  WER999A PBD125T ,STEP040 ,AMSDEF  -  UNSUCCESSFUL SORT 306 S 
REASON=0000000C       
19.28.26 JOB05240  IEC130I SPYSET   DD STATEMENT MISSING                        
                      
19.28.26 JOB05240  IEA995I SYMPTOM DUMP OUTPUT  069                             
                      
   069             SYSTEM COMPLETION CODE=306  REASON CODE=0000000C             
                      

//PBD125T  JOB 070352,TEST-SYSTEM,CLASS=Z,MSGCLASS=X,                   
//            MSGLEVEL=(1,1),PERFORM=21                                  
//JOBL   INCLUDE MEMBER=TCJLIB                                           
XXJOBLIB   DD  DSN=MNL.TEST.VALD.LOADLIB,DISP=SHR                        
<<<<JOBLIB concatenation is same as
XX         DD  DSN=CMAN.L70P.EMER.LOADLIB,DISP=SHR                       
<<<<working test jobs from above
XX         DD  DSN=SYS1.MNL.PROD.VALD.LOADLIB,DISP=SHR                   
XX         DD  DSN=SYS1.MNL.PROD.LOADLIB,DISP=SHR                        
XX         DD  DISP=SHR,DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCLINK.NEW         
XX         DD  DISP=SHR,DSN=SYS1.SFG1B.SYNCSORT.R14.SYNCRENT.NEW         
//*                                                                      

//STEP040 EXEC PROC=MNLAMST,MEMBER=PB0095                                   
XXMNLAMST  PROC MEMBER='NONE',MAXRC='8'                                     
XXAMSDEF  EXEC PGM=IDCAMS                                                   
XXSYSPRINT DD  SYSOUT=*                                                     
XXSYSIN    DD  DSN=MNL2.DP.TEST.AMS.CARDLIB(&MEMBER),DISP=SHR               
IEFC653I SUBSTITUTION JCL - DSN=MNL2.DP.TEST.AMS.CARDLIB(PB0095),DISP=SHR   

(content of member PB0095)

DELETE TSD.UTS.PB.SALARY.CONAME.AIX                           -   
AIX                                                       -       
PURGE                                                             
                                                                  
DEFINE AIX                                                -       
NAME('TSD.UTS.PB.SALARY.CONAME.AIX')                          -   
RELATE('TSD.UTS.PB.SALARY.DEDUCT')                     -          
FREESPACE(0 0)                                            -       
KEYS(35 9)                                               -        
RECORDSIZE(5 1000)                                        -       
SHAREOPTIONS(3 3)                                         -       
RECOVERY                                                  -       
NONUNIQUEKEY                                              -       
UPGRADE)                                                  -       
       DATA                                               -       
NAME('TSD.UTS.PB.SALARY.CONAME.AIX.DATA')                     -   
CYLINDERS(2 1)                                            -       
CISZ(6144))                                               -       
       INDEX                                              -       
NAME('TSD.UTS.PB.SALARY.CONAME.AIX.INDEX')                    -   
TRACKS(1 1)                                               -       
CISZ(1536))                                                       
                                                                      
   BIX   IDS ('TSD.UTS.PB.SALARY.DEDUCT')                   -         
         ODS ('TSD.UTS.PB.SALARY.CONAME.AIX')                    -    
         INTERNALSORT                                                 
                                                                      
   DEFINE  PATH                                              -        
 ( NAME('TSD.UTS.PB.SALARY.CONAME.PATH')                         -    
   PATHENTRY('TSD.UTS.PB.SALARY.CONAME.AIX')                     -    
   UPDATE)                                                            
                                                                      
                                                                      
   IF LASTCC = 0  THEN -                                              
         LISTCAT -                                                    
             ENTRIES (TSD.UTS.PB.SALARY.DEDUCT        -               
                      TSD.UTS.PB.SALARY.CONAME.AIX       -            
                      TSD.UTS.PB.SALARY.CONAME.PATH)                  


Job output from abended step:

IDCAMS  SYSTEM SERVICES                                           TIME:
                                                                       
   DELETE TSD.UTS.PB.SALARY.DEDUCT                              -      
   CLUSTER                                                  -          
   PURGE                                                               
IDC0550I ENTRY (R) TSD.UTS.PB.SALARY.CONAME.PATH DELETED               
IDC0550I ENTRY (D) TSD.UTS.PB.SALARY.CONAME.AIX.DATA DELETED           
IDC0550I ENTRY (I) TSD.UTS.PB.SALARY.CONAME.AIX.INDEX DELETED          
IDC0550I ENTRY (G) TSD.UTS.PB.SALARY.CONAME.AIX DELETED                
IDC0550I ENTRY (D) TSD.UTS.PB.SALARY.DEDUCT.DATA DELETED               
IDC0550I ENTRY (I) TSD.UTS.PB.SALARY.DEDUCT.INDEX DELETED              
IDC0550I ENTRY (C) TSD.UTS.PB.SALARY.DEDUCT DELETED                    
IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0              
                                                                       
   DEFINE CLUSTER                                           -          
 ( NAME(TSD.UTS.PB.SALARY.DEDUCT)                               -      
   INDEXED                                                  -          
   FREESPACE(19 0)                                          -          
   KEYS(8 0)                                                -          
   RECORDSIZE(300 300)                                      -          
   NOREUSE                                                  -          
   SHAREOPTIONS(2 3)                                        -          
   SPEED)                                                   -          
          DATA                                              -          
( NAME(TSD.UTS.PB.SALARY.DEDUCT.DATA)                          -         
   CYLINDERS(7 1)                                          -              
   CISZ(8192))                                              -             
          INDEX                                             -             
 ( NAME(TSD.UTS.PB.SALARY.DEDUCT.INDEX)                         -         
   TRACKS(1 1)                                              -             
   CISZ(2048))                                                            
IDC0508I DATA ALLOCATION STATUS FOR VOLUME MRS004 IS 0                    
IDC0508I DATA ALLOCATION STATUS FOR VOLUME *      IS 0                    
IDC0508I DATA ALLOCATION STATUS FOR VOLUME *      IS 0                    
IDC0508I DATA ALLOCATION STATUS FOR VOLUME *      IS 0                    
IDC0509I INDEX ALLOCATION STATUS FOR VOLUME MRS004 IS 0  
IDC0509I INDEX ALLOCATION STATUS FOR VOLUME *      IS 0  
IDC0509I INDEX ALLOCATION STATUS FOR VOLUME *      IS 0  
IDC0509I INDEX ALLOCATION STATUS FOR VOLUME *      IS 0  
IDC0181I STORAGECLASS USED IS NORMAL                               
IDC0181I MANAGEMENTCLASS USED IS DUMPONLY                          
IDC0181I DATACLASS USED IS DCVSAM                                  
IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0          
                                                                   
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0  

No BIX mentioned at all!!!!!


I came in, APF authorized the 4 libraries at the beginning of the JOBLIB 
concatenation, and the job ran clean.  

How can it be that 2 jobs, using the same JOBLIB concatenations, performing the 
same IDCAMS BIX function, will have one abend with APF failure, and the other 
work?  All the jobs have the sort modules as well as IDCAMS in the Linklist, as 
I documented above, the jobs that failed originally had the sort modules in a 
non-APF JOBLIB concatenation.  All my test jobs that worked had the sort 
modules in APF authorized libraries that sometimes should have been marked 
non-APF due to being in a mixed JOBLIB concatenation, and the scheduled job 
failed due to having the same JOBLIB in a mixed concatenation and then worked 
once all the libraries were specifically authorized.

Do I have a right to be confused now?  :-(

Rex



-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Blaicher, Christopher Y.
Sent: Thursday, December 19, 2013 11:57 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: APF authorization and JOBLIB DD card

I think I covered that, but obviously not well enough.

If no called/loaded modules exist in the JOBLIB/STEPLIB, and all are in the 
LINKLIST, then that meets the requirement that all LOADs occur from authorized 
libraries.  It doesn't matter if JOBLIB/STEPLIB are authorized or not.

I think he got away with it because one of the tests was run where all the sort 
modules were in the LINKLIST.  He then ran it with the sort libraries also in 
the JOBLIB/STEPLIB concatenations that included an unauthorized library and 
that failed with a 306.

It's all a question of where modules get loaded from.  To be certain of things, 
I would need to see the concatenations and the APF library list at each run 
time.

Chris Blaicher
Principal Software Engineer, Software Development
Syncsort Incorporated
50 Tice Boulevard, Woodcliff Lake, NJ 07677
P: 201-930-8260  |  M: 512-627-3803    
E: cblaic...@syncsort.com


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Robert Hahne
Sent: Thursday, December 19, 2013 10:51 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: APF authorization and JOBLIB DD card

Hello Chris ,

This is a very good explanation . But that still leaves OP's last question 

"If IDCAMS requires APF authorization for called modules, why does IDCAMS work 
when the JOBLIB is supposedly not authorized by introducing a non-authorized 
library to the JOBLIB? "

I assume OP  ran the job by APF authorizing the JOBLIBS first , and then tried 
another run by adding an unauthorized library to the JOBLIB concatenation . 

TIA ,

Bob







> Date: Thu, 19 Dec 2013 00:58:00 +0000
> From: cblaic...@syncsort.com
> Subject: Re: APF authorization and JOBLIB DD card
> To: IBM-MAIN@LISTSERV.UA.EDU
> 
> I will answer the APF questions, but I strongly suggest that you call 
> SyncSort Support in the morning if you continue to have ABEND 306 problems.
> 
> The short answer is that any module loaded by an authorized program must come 
> from an authorized library.  Loaded modules don't have to be authorized 
> (AC=1), they just have to come from an authorized library.  Now it gets more 
> complicated.
> 
> Most people think that all LINKLIST libraries are authorized, but that isn't 
> always true.  If your site has LNKAUTH=APFTAB as a parm in IEASYSxx rather 
> than taking the default or specifying LNKAUTH=LNKLST, then only those 
> libraries that are in the APF table are considered authorized.
> 
> JOBLIB and STEPLIB libraries are handled a little differently.  They are 
> either all authorized or all not authorized.  So, if you have a three library 
> concatenation and they are all authorized, life is good.  If you add a 
> non-authorized library to then, then they are all considered un-authorized.
> 
> When you ran an IDCAMS job with all modules used in the linklist, it was OK 
> because it didn't get any modules from JOBLIB.  Your site must be taking the 
> default or specifying LNKAUTH=LNKLST.  When you put the same libraries in the 
> JOBLIB concatenation, and any one of them isn't in the APF table, then all of 
> the JOBLIB libraries become un-authorized, even if the libraries are still in 
> the LINKLIST.  Because the search is STEPLIB first, JOBLIB second (or first 
> if no STEPLIB) and then the LINKLIST and it found the module it wanted in the 
> JOBLIB and the JOBLIB concatenation was not authorized because one or more 
> libraries weren't, then you get the ABEND 306.
> 
> Confused enough?
> 
> Chris Blaicher
> Principal Software Engineer, Software Development Syncsort 
> Incorporated
> 50 Tice Boulevard, Woodcliff Lake, NJ 07677
> P: 201-930-8260  |  M: 512-627-3803    
> E: cblaic...@syncsort.com
> 
> 
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] 
> On Behalf Of Pommier, Rex
> Sent: Wednesday, December 18, 2013 6:07 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: APF authorization and JOBLIB DD card
> 
> Hi list,
> 
> I'm confused - again.  I thought I knew how APF authorization works with 
> JOBLIB statements but apparently I don't.  Here's the background.  I'm 
> installing a new maintenance level of SyncSort.  According to the SyncSort 
> manual, the only library that needs APF authorization is the SYNCAUTH library 
> which contains the Dynamic Storage Management modules.   
> 
> In addition, IDCAMS internally calls a SORT module by default when performing 
> a BuildIndeX function.
> 
> Here's my scenario.  I have batch jobs with JOBLIB statements in them.  In 
> order to test my SyncSort upgrade, I have added the SYNCLINK and SYNCRENT 
> libraries to the JOBLIB concatenation.  
> 
> Where I'm hitting the problem is IDCAMS BIX function.  When I run the IDCAMS 
> job with just the normal JOBLIB without the SyncSort libraries in it, the job 
> runs fine - presumably using the SyncSort currently in the LinkList.  The 
> JOBLIB is not APF authorized because it has a mixture of authorized and not 
> authorized libraries in it.  I add the new SyncSort libraries to the JOBLIB 
> and the IDCAMS fails with a S306-0C abend and message "CSV019I REQUESTED 
> MODULE SS14RC02 NOT ACCESSED, IS IN NON-APF LIBRARY/CONCATENATION".  Module 
> SS14RC02 is linked AC=0 and is in the SYNCRENT library.  I added all the 
> JOBLIB libraries to the APF list and the IDCAMS step runs fine.  I then add a 
> non-APF authorized library to the JOBLIB and the IDCAMS step STILL runs fine! 
>  
> 
> Why is IDCAMS demanding that non-APF module SS14RC02 be loaded from an APF 
> authorized library?
> 
> If IDCAMS requires APF authorization for called modules, why does IDCAMS work 
> when the JOBLIB is supposedly not authorized by introducing a non-authorized 
> library to the JOBLIB?
> 
> TIA
> 
> Rex

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

The information contained in this message is confidential, protected from 
disclosure and may be legally privileged.  If the reader of this message is not 
the intended recipient or an employee or agent responsible for delivering this 
message to the intended recipient, you are hereby notified that any disclosure, 
distribution, copying, or any action taken or action omitted in reliance on it, 
is strictly prohibited and may be unlawful.  If you have received this 
communication in error, please notify us immediately by replying to this 
message and destroy the material in its entirety, whether in electronic or hard 
copy format.  Thank you.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to