Endevor

 View Only
  • 1.  ENDEVOR JCLNEAT REXX

    Posted Apr 01, 2015 10:49 AM

    Having problem calling a JCLNEAT REXX script. It seem to blow up on the very first line of the REXX that tries to parse parameters. Does anyone have an example or any insight on how to setup the call so that it works correctly?

     

    The goal of this is to mimic a CA7 exit that adds USER= to JOB cards. The processor has 3 main parts: get the element, JCLNEAT adds the USER=, and run JCKCHECK with SECURITY option. We are not going to save the JCL. CA7 will get a copy of the original element.

     

    The error:

    CAY6361S ERROR DURING EXEC LOAD/FREE PHASE OF REXX INTERFACE. 

     

    <snip>

    +0100    PARSE ARG $CAJCL_PARM;                  

    +0100    $CAJCL_PERM = 'Perm value throughout';  

    +0103    say 'top' <<<< never makes it to this line

    <snip>

     

    ----- but this script works

    +0100  /* rexx */        

    +0100  say "hi"          

    +0100  say "bye"         

    +0101  RETURN            

    -----

     

    <snip>

    +0127  //*************************************************************

    +0127  //* JCLNEAT

    +0127 //*************************************************************

    +0127  //JCLNEAT EXEC PGM=CAZ1NEAT,COND=(5,LE) ,MAXRC=8             

    +0128  //SYSEXEC DD DSN=&NDVISR1,DISP=SHR                           

    +0128  // DD DSN=&NDVISR2,DISP=SHR                           

    +0128  //* DSN=ERIE.NDVR.ADMADM1.ISRCLIB(ACFR996)          

    +0137  //APPTABLE DD DISP=SHR,DSN=SYS5.ACF2.CA7.APP.CODES <<< APP C

    +0127  //SEQIN DD DISP=SHR,DSN=&&ELEMENT(&C1ELEMENT)     <<< RAW J

    +0127  //SEQOUT DD DSN=&&TMPJCL1,DISP=(NEW,PASS),         >>> NEAT

    +0127  // UNIT=SYSDA,SPACE=(TRK,(1,1),RLSE),             

    +0127  // RECFM=FB,LRECL=80                              

    +0137  //SPECLIDS DD DUMMY,DCB=LRECL=80                             

    +0137  //LIDTABLE DD DUMMY,DCB=LRECL=80                             

    +0134  //*SPECLIDS DD DISP=(,PASS),DSN=&&USEREQ(&C1ELEMENT)  << OVERR

    +0134  //*LIDTABLE DD DISP=(,PASS),DSN=&&USEREQ(&C1ELEMENT)  << OVERR

    +0127  //JCLNOPTS DD *                                              

    +0127  INLIB=SEQ,OUTLIB=SEQ,PACK=Y,CEC=71,CECJ=55,SEQ1=0             

    +0136 BCS=N,BCI=N,LINES=72,ICSC=71,REXXMEM=ACFR996                  

    +0127  /*

    +0127  //SYSUT1 DD UNIT=3390,SPACE=(CYL,(1,1))                    

    +0127  //SYSUT2 DD UNIT=3390,SPACE=(TRK,(1,1))                    

    +0127  //SYSRDR DD  SYSOUT=*                                       

    +0127  //SYSTSPRT DD SYSOUT=*                                       

    +0127  //SYSPRINT DD SYSOUT=*

    +0127  //SYSUDUMP DD SYSOUT=*                                       

    +0134  //* ,REXXMEM=ACFR996                                          

    +0127  //*

    <snip>



  • 2.  Re: ENDEVOR JCLNEAT REXX
    Best Answer

    Posted Apr 01, 2015 11:05 AM

    The  /* rexx */  is required as the first line of a Rexx program.



  • 3.  Re: ENDEVOR JCLNEAT REXX

    Posted Apr 01, 2015 11:07 AM

    The JCL, REXX, etc... works outside endevor. There were about 50 lines of comments in the <snip>.



  • 4.  Re: ENDEVOR JCLNEAT REXX

    Posted Apr 01, 2015 11:30 AM

    This is an ID10T error. There was an override making NDVISR1 the same as NDVISR2 and HI REXX is in both. Ugh. On a positive note.... please enjoy the working example of JCLNEAT within a processor.


    +0128  //SYSEXEC DD DSN=&NDVISR1,DISP=SHR                          

    +0128  //        DD DSN=&NDVISR2,DISP=SHR   



  • 5.  Re: ENDEVOR JCLNEAT REXX

    Posted Apr 01, 2015 11:56 AM

    The error message explaination follows:

    'EXEC LOAD'

    Indicates an error loading the STDREXX option member. Look for IRX messages to help diagnose the problem.

     

    Is your SYSEXEC resolving to a library that contains your STDREXX? 

     

    I don't use the NEAT feature but here is a copy of my JCLCHECK processor.

    //*-----------------------------------------------------------------*//

    //*  GET SOURCE FROM ENDEVOR                                        *//

    //*-----------------------------------------------------------------*//

    //*                                                                  

    //EXTSRC  EXEC PGM=CONWRITE,PARM='EXPINCL(N)',MAXRC=0              

    //ELMOUT  DD  DISP=(NEW,PASS),                                    

    //              DSN=&&ELMOUT(&C1ELEMENT),                            

    //              RECFM=FB,LRECL=80,BLKSIZE=0,                        

    //              UNIT=SYSDA,SPACE=(CYL,(5,5,5))                      

    //*                                                                  

    //*-----------------------------------------------------------------*//

    //* RUN JCL CHECK IF IN MAINT, PROJECT OR EMER ENVIRONMENT AND THE  *//

    //* TYPE IS JCL OR PROC                                            *//

    //*-----------------------------------------------------------------*//

    //*                                                                  

    // IF (((&C1ST = 'DEVM') OR (&C1ST = 'DEVP') OR (&C1ST = 'FIXT')) AND

    //    ((&C1TY = 'JCL') OR (&C1TY = 'PROC'))) THEN                  

    //*                                                                  

    //*-----------------------------------------------------------------*//

    //*  ALLOCATE - ALLOCATE TEMPORARY LISTING DATASETS                *//

    //*-----------------------------------------------------------------*//

    //*                                                                  

    //ALLOCATE EXEC PGM=BC1PDSIN,MAXRC=0                                

    //C1INIT01 DD DSN=&&COPYLIST,DISP=(,PASS),                          

    //      UNIT=SYSDA,SPACE=(CYL,(5,2)),                              

    //      RECFM=FBA,LRECL=133                                        

    //*                                                                  

    //*-----------------------------------------------------------------*//

    //*  PROCEDURE TO EXECUTE JCLCHECK                                *//

    //*  MODIFIED FOR ENDEVOR PROCESSOR GDAT                          *//

    //*-----------------------------------------------------------------*//

    //*  COPYRIGHT (C) 2007 CA. ALL RIGHTS RESERVED.                  *//

    //*-----------------------------------------------------------------*//

    //*                                                                  

    //JCLCHECK  EXEC  PGM=JCLCHECK,                                      

    //                PARM='O(JCKOPTS)',                                

    //                COND=(0,LT),                                      

    //                MAXRC=4                                            

    //SYSTERM  DD  SYSOUT=*                    TERMINAL ERROR REPORT    

    //SYSPRINT  DD  DISP=(MOD,PASS),            REPORTS 1-9 AND 11      

    //              DSN=&&COPYLIST                                      

    //CAZ2SNAP  DD  SYSOUT=*                    DIAGNOSTIC OUTPUT        

    //SYSTSPRT  DD  SYSOUT=*                    REXX OUTPUT              

    //SYSGRAPH  DD  SYSOUT=*,DCB=RECFM=FBA      GRAPH REPORT        CBS

    //SYSUDUMP  DD  SYSOUT=D                    DIAGNOSTICS DATA        

    //SYSEXEC  DD  DISP=SHR,DSN=NLV1.EXECLIB                            

    //JCKOPTS  DD  DISP=SHR,DSN=TECH.POPR.ENDEVOR.PARMLIB(JCKOPTS)      

    //SYSRDR    DD  DUMMY                                                

    //SYSIN    DD  DISP=(OLD,PASS),                                    

    //              DSN=&&ELMOUT(&C1ELEMENT)                            

    //*    

     

    Here is a list of the JCKOPTS we use.

     

    NOCCL,                                     

    NOCNTL,                                    

    NOCOND,                                    

    NOCSI,                                     

    NOCTL,                                     

    NODB2,                                     

    NODES,                                     

    DFLTJOBC(H),                               

    EDCHEL                                     

    ERROR(START),                              

    FULLLIST,                                  

    LIST(SYSPRINT),                            

    NOJCLLIB,                                  

    MCOSYS(TECH.POPR.ENDEVOR.PARMLIB,JCKMSGS)           <<== Message level overrides.

    PXREF(NOR),                                

    NORUNT,                                    

    NOSEC,                                     

    NOSMS,                                     

    SEV(4),                                    

    SPACE(NORPT),    

    SRCH,            

    STDREXX(NLGJCLCE),

    STEPMSG,         

    SUBALL,          

    USER(PROD),      

    UTLSEV,          

    NOV,             

    XEROX,           

    NOXREF

                                                             



  • 6.  Re: ENDEVOR JCLNEAT REXX

    Posted Apr 01, 2015 11:58 AM

    That would do it.