Monday, February 6, 2012

Last record of a VSAM file

Sometimes the last record of a file contains vital information. In case the file is too huge, we would not be able to open it in File Aid or normal browse option.

I found this JCL very helpful to extract the last record and see it in the SPOOL. We can also give an output file!
//S1 EXEC PGM=ICETOOL


//TOOLMSG DD SYSOUT=*

//DFSMSG DD SYSOUT=*

//IN DD DSN=,DISP=SHR

//OUT DD SYSOUT=*

//TOOLIN DD *

SUBSET FROM(IN) TO(OUT) KEEP INPUT TRAILER VSAMTYPE(V)

/*

Tuesday, November 23, 2010

Split a file

//***********************************************************

//SPLITFLS EXEC PGM=SORT

//***********************************************************

//SYSPRINT DD SYSOUT=*

//SYSOUT DD SYSOUT=*

//SYSUDUMP DD SYSOUT=*

//SORTIN DD DSN=FILE1......,DISP=SHR

//SORTOF01 DD DSN=OUTPUTFILE1.......,

// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,

// SPACE=(CYL,(1,1),RLSE),

// RECFM=FB,LRECL=20

//SORTOF02 DD DSN=OUTPUTFILE2..............,

// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,

// SPACE=(CYL,(1,1),RLSE),

// RECFM=FB,LRECL=20

//SORTOF03 DD DSN=OUTPUTFILE3..............,

// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,

// SPACE=(CYL,(1,1),RLSE),

// RECFM=FB,LRECL=20

//SYSIN DD *

SORT FIELDS=COPY

OUTFIL FILES=01,ENDREC=200

OUTFIL FILES=02,STARTREC=201,ENDREC=400

OUTFIL FILES=03,STARTREC=401,ENDREC=700

//*

Friday, October 22, 2010

COPY desired columns and no duplicates

 //STEP002 EXEC PGM=SORT                                            
//SYSOUT   DD SYSOUT=*                                             
//SORTIN  DD DISP=SHR,DSN=WESTLAW.PROD@B.SPIS.DAILY.LOGRECS.G7030V00
//SORTOUT DD DISP=(NEW,CATLG,DELETE),DSN=U123557.LOGRECS,          
//         DCB=WESTLAW.PROD@B.SPIS.DAILY.LOGRECS.G7030V00,         
//         SPACE=(CYL,(1,10),RLSE),UNIT=SYSDA                      
//SYSIN  DD *                                                      
  SORT FIELDS=(5,18,CH,A)                                          
  SUM FIELDS=NONE                                                  
  OUTREC FIELDS=(5,18)                                             
/*                                                                

Search for 2 strings (String 1 and String 2 in the same member)-not same line

//SEARCH   EXEC PGM=ISRSUPC,                                    
//       PARM=(SRCHCMP,'ANYC,FINDALL,XREF,NOPRTCC,NOSUMS')      
//NEWDD    DD  DSN=input pds,DISP=SHR                           
//OUTDD    DD  SYSOUT=*                                         
//SYSIN    DD  *                                                
 SRCHFOR  'string1'                                             
 SRCHFOR  'string2'                                             

Sort - Find Rep 3

//STEP003  EXEC  PGM=ICEMAN                                     
//SYSOUT    DD  SYSOUT=*                                        
//SORTIN    DD DSN=U123557.PA.D100610.VOL0010.HTML.BK,DISP=SHR  
//SORTOUT   DD DISP=SHR,DSN=U123557.PA.D100610.VOL0010.HTML.BK  
//SYSIN     DD    *                                             
  OPTION COPY                                                   
    INREC FINDREP=(IN=C'padding-top:6px;>&nbsp',                
              OUT=C'padding-top:6px;">&nbsp')                   
/*                                                              

SORT- Find Rep 2

//STEP003  EXEC  PGM=ICEMAN                                        
//SYSOUT    DD  SYSOUT=*                                           
//SORTIN    DD DSN=U123557.PA.D100610.VOL0010.HTML.BK,DISP=SHR     
//SORTOUT   DD DISP=SHR,DSN=U123557.PA.D100610.VOL0010.HTML.BK     
//SYSIN     DD    *                                                
  OPTION COPY                                                      
    INREC FINDREP=(IN=C'htm",OUT=C'tes'')                     
/*                                                                                                                                                            

To restore an archived dataset using IEBGENER

//IEBCMP1A EXEC PGM=IEBGENER                                     
//SYSUT1 DD DISP=SHR,DSN=KEYCITE.PROD@B.AUDIT.ADCIANV.ONLYWL.DN  
//*                                                              
//SYSPRINT DD  SYSOUT=*                                          
//SYSIN    DD  DUMMY                                             
//SYSUT2   DD  DUMMY