Page 1 of 1

VSAM file is not created using IDCAMS.

Posted: Fri Mar 18, 2016 5:01 pm
by Vivek Soni
Hi,


Please see, if there is some problem with the below JCL?

Code: Select all

//VSAMSTEP JOB (@),CLASS=M,MSGLEVEL=(1,1)
//             NOTIFY=&SYSUID,MSGCLASS=A   
//STEP0001 EXEC PGM=IDCAMS                 
//SYSIN    DD  *                           
    DEFINE CLUSTER -                       
       (NAME(MY.VSAM.FILE) -   
       VOL(xxx20) -                   
       KEYS(15 0) -                    
       RECORDSIZE(100 100) -           
       INDEXED -                       
       REUSE ) -                       
    DATA -                                 
      (NAME(MY.VSAM.FILE.DATA) - 
      CISZ(8192) -                      
      RECORDSIZE(100 100) -             
    INDEX -                                
      (NAME(MY.VSAM.FILE.INDEX) )
//SYSPRINT DD  SYSOUT=*                    
/*                      
//*
Job executes fine with MAXCC=00. But the the VSAM I created above does not show up in ISPF 3.4. Can anyone help me on this?

Re: VSAM file is not created using IDCAMS.

Posted: Fri Mar 18, 2016 5:18 pm
by William Collins
Paste the output from file two in the spool, the JESJCL.

When you say MAXCC=00, do you mean from the NOTIFY, or the output from IDCAMS, or both?

Paste the output from IDCAMS, the file three in the spool.

Re: VSAM file is not created using IDCAMS.

Posted: Fri Mar 18, 2016 6:36 pm
by Robert Sample
From a casual scan of your JCL, I doubt that your VSAM data set (NOT a file -- files only exist in z/OS under Unix System Services and VSAM data sets are not built under Unix System Services) is being created.  You have a /* after //SYSPRINT -- which probably gets a //SYSIN DD * generated in front of it, in which case your entire //SYSIN will not be executed.
Show us the job output to be sure -- and you should have put the job output in your original post since that makes it MUCH easier to diagnose issues.

Re: VSAM file is not created using IDCAMS.

Posted: Fri Mar 18, 2016 9:22 pm
by William Collins
The first SYSIN will be processed, where multiple exist. Although the /* will cause a //SYSIN DD * card to be generated, it will not affect the IDCAMS control cards in the first SYSIN. If at least one of the... now somewhat missing... blank lines exist in the actual JCL, that will cause the generation of the first SYSIN in the step, which will then be used by IDCAMS giving something like:

Code: Select all

IDCAMS  SYSTEM SERVICES                                           TIME: hh:mm:ss        Date----     PAGE      1
                                                                                                                
                                                                        lineno--                                
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0