Hey Gil.  

I changed to //SYSIN    DD  *,SYMBOLS=(EXECSYS,SYSPRINT) and the log showed the 
PROC variables in the SYSIN data NOT being substituted. 

-----------------------------------------------------------------------------------------------------

If I only code the &DSN & &VOL parameters in the SYSIN data, JES complains with 
IEFC657I messages because I didn't use the parms to the PROC:

       3 //RECATL   PROC DSN=,VOL=
         //EX1      EXPORT SYMLIST=*
         //RECTIDX  EXEC PGM=IDCAMS
         //SYSPRINT DD SYSOUT=L
         //SYSIN    DD  *,SYMBOLS=(EXECSYS,SYSPRINT)
         //        PEND
         //*
       4 //R1 EXEC RECATL,DSN=WRL1.LINEAR,VOL=MACK07
       5 ++RECATL   PROC DSN=,VOL=
       6 ++EX1      EXPORT SYMLIST=*
       7 ++RECTIDX  EXEC PGM=IDCAMS
       8 ++SYSPRINT DD SYSOUT=L
       9 ++SYSIN    DD  *,SYMBOLS=(EXECSYS,SYSPRINT)
 STMT NO. MESSAGE
        4 IEFC001I PROCEDURE RECATL WAS EXPANDED USING INSTREAM PROCEDURE 
DEFINITION
        4 IEFC657I THE SYMBOL DSN WAS NOT USED
        4 IEFC657I THE SYMBOL VOL WAS NOT USED

-----------------------------------------------------------------------------------------------------

If I add dummy SET statements to get around the IEFC657I messages, but use the 
same symbol names in the SYSIN data as the PROC uses, SYSIN doesn't get changed:

//RECATL   PROC DSN=,VOL=
//EX1      EXPORT SYMLIST=*
// SET DS=&DSN
// SET VL=&VOL
//RECTIDX  EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=L
//SYSIN    DD  *,SYMBOLS=(EXECSYS,SYSPRINT)
  DEFINE  CLUSTER(NAME(&DSN) -
           RECATALOG LINEAR VOL(&VOL)) -
           DATA(NAME(&DSN..DATA))
//        PEND
//*
//R1 EXEC RECATL,DSN=WRL1.LINEAR,VOL=MACK07

SYSIN    : RECORD 1 BEFORE SUBSTITUTION
SYSIN    :   DEFINE  CLUSTER(NAME(&DSN) -
SYSIN    : RECORD 1 AFTER SUBSTITUTION

  DEFINE  CLUSTER(NAME(&DSN) -
SYSIN    :   DEFINE  CLUSTER(NAME(&DSN) -
SYSIN    : RECORD 2 BEFORE SUBSTITUTION
SYSIN    :            RECATALOG LINEAR VOL(&VOL)) -
SYSIN    : RECORD 2 AFTER SUBSTITUTION
SYSIN    :            RECATALOG LINEAR VOL(&VOL)) -
SYSIN    : RECORD 3 BEFORE SUBSTITUTION
SYSIN    :            DATA(NAME(&DSN..DATA))
SYSIN    : RECORD 3 AFTER SUBSTITUTION
IDC3203I ITEM '&DSN' DOES NOT ADHERE TO RESTRICTIONS
           RECATALOG LINEAR VOL(&VOL)) -
           DATA(NAME(&DSN..DATA))
IDC3202I ABOVE TEXT BYPASSED UNTIL NEXT COMMAND. CONDITION CODE IS 12

IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 12
SYSIN    :            DATA(NAME(&DSN..DATA))
-----------------------------------------------------------------------------------------------------

If I rename the PROC variables using SET statements, and then use the SET names 
in SYSIN, it works:

//RECATL   PROC DSN=,VOL=MACK07
//EX1      EXPORT SYMLIST=*
// SET DS=&DSN
// SET VL=&VOL
//RECTIDX  EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=L
//SYSIN    DD  *,SYMBOLS=(EXECSYS,SYSPRINT)
  DEFINE  CLUSTER(NAME(&DS) -
           RECATALOG LINEAR VOL(&VL)) -
           DATA(NAME(&DS..DATA))
//        PEND
//*
//R1 EXEC RECATL,DSN=WRL1.LINEAR,VOL=MACK07

SYSIN    : RECORD 1 BEFORE SUBSTITUTION
SYSIN    :   DEFINE  CLUSTER(NAME(&DS) -
SYSIN    : RECORD 1 AFTER SUBSTITUTION
SYSIN    :   DEFINE  CLUSTER(NAME(WRL1.LINEAR) -
SYSIN    : RECORD 2 BEFORE SUBSTITUTION
SYSIN    :            RECATALOG LINEAR VOL(&VL)) -
SYSIN    : RECORD 2 AFTER SUBSTITUTION
SYSIN    :            RECATALOG LINEAR VOL(MACK07)) -
SYSIN    : RECORD 3 BEFORE SUBSTITUTION
SYSIN    :            DATA(NAME(&DS..DATA))
SYSIN    : RECORD 3 AFTER SUBSTITUTION

  DEFINE  CLUSTER(NAME(WRL1.LINEAR) -
           RECATALOG LINEAR VOL(MACK07)) -
           DATA(NAME(WRL1.LINEAR.DATA))
IDC3013I DUPLICATE DATA SET NAME
IDC3009I ** VSAM CATALOG RETURN CODE IS 8 - REASON CODE IS IGG0CLEH-38
IDC3003I FUNCTION TERMINATED. CONDITION CODE IS 12

IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 12
SYSIN    :            DATA(NAME(WRL1.LINEAR.DATA))

(The dataset was fine before I started, so IDCAMS fails rc 12.  But the 
variables in the SYSIN data were substituted correctly.)

-----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------
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