Wednesday, 26 June 2013

Merge

//TRNG111M JOB NOTIFY=TRNG111,TIME=10                                
//S1 EXEC PGM=SORT                                                    
//SYSOUT DD SYSOUT=*                                                  
//SORTIN01 DD DSN=TRNG111.FORSORT.UNSORT1,DISP=SHR                    
//SORTIN02 DD DSN=TRNG111.FORSORT.SORT1,DISP=SHR                      
//SORTOUT DD DSN=TRNG111.MERGE.DATA,DISP=(NEW,CATLG),SPACE=(TRK,(5,5)),
//           DCB=(LRECL=80,BLKSIZE=8000,RECFM=FB)                    
//SYSIN DD *                                                          
  MERGE FIELDS=(1,3,CH,A)                                            
/*                                                                     

Tuesday, 25 June 2013

SORTING


UNSORTED

C3000SUNDAR10-01-2000SB20000HYD
C8000GANESH01-05-2001CA15000CHE
C1000SUHASH23-08-2003SB25000BNG
C7000HARISH05-05-2008FD12000CHE
C5000SUBASH11-11-2011SB20000HYD
C9000GANDHI01-01-2001CA15000CHE
C6000SURESH03-03-2003SB25000BNG
C2000RAMESH05-05-2005FD12000CHE





JCL CODE TO SORT

//TRNG111A JOB NOTIFY=TRNG111,TIME=10            
//S1 EXEC PGM=SORT                              
//SYSOUT DD SYSOUT=*                            
//SORTIN  DD DSN=TRNG111.FORSORT.UNSORT1,DISP=SHR
//SORTOUT DD DSN=TRNG111.FORSORT.SORT1,DISP=SHR  
//SYSIN DD *                                    
  SORT FIELDS=(6,6,CH,A) SKIPREC=1,STOPAFT=4    
/*                                              




SORTED

C8000GANESH01-05-2001CA15000CHE
C7000HARISH05-05-2008FD12000CHE
C5000SUBASH11-11-2011SB20000HYD
C1000SUHASH23-08-2003SB25000BNG

IEBPTPCH Utility

TRNG111.PT.PCH

C3000SURESH10000CHESB 20-05-2000
C4000GANESH25000HYDCA 15-12-2001
C8000SATISH15000CHEFD 18-10-2002


//TRNG111L JOB NOTIFY=&SYSUID                          
//STEP1 EXEC PGM=IEBPTPCH                              
//SYSPRINT DD SYSOUT=*                                
//SYSUT1 DD DSN=TRNG111.PT.PCH,DISP=SHR                
//SYSUT2 DD SYSOUT=R                                  
//SYSIN DD *                                          
  PRINT TYPORG=PS,MAXFLDS=6                            
  TITLE ITEM=('CUSTOMER DETAILS',20)                  
  TITLE ITEM=('CS ID  NAME  BALANCE  CITY  OPEN DATE')
  RECORD FIELD=(5,1,,1),                              
         FIELD=(6,6,,8),                              
         FIELD=(5,12,,17),                            
         FIELD=(3,20,,26),                            
         FIELD=(10,23,,32)                            
/*                  

Executing the particular steps using IEBEDIT


//TRNG111A JOB CLASS=C,NOTIFY=TRNG111          
//STEP1 EXEC PGM=IEFBR14                      
//AA DD DSN=TRNG111.AA.DATA,DISP=(NEW,CATLG),  
// SPACE=(TRK,(1,1))                          
//STEP2 EXEC PGM=IEFBR14                      
//BB DD DSN=TRNG111.BB.DATA,DISP=(NEW,CATLG),  
// SPACE=(TRK,(1,1))                          
//STEP3 EXEC PGM=IEFBR14                      
//CC DD DSN=TRNG111.CC.DATA,DISP=(NEW,CATLG),  
// SPACE=(TRK,(1,1))                          
//STEP4 EXEC PGM=IEFBR14                      
//AD DD DSN=TRNG111.DD.DATA,DISP=(NEW,CATLG),  
// SPACE=(TRK,(1,1))                          



RUN PGMX

//TRNG111X JOB CLASS=A,NOTIFY=TRNG111                  
//S1 EXEC PGM=IEBEDIT                                  
//SYSPRINT DD SYSOUT=*                                  
//SYSUT1 DD DSN=TRNG111.NEW.JCL(PGMX),DISP=SHR          
//SYSUT2 DD SYSOUT=(*,INTRDR)                          
//SYSIN DD *                                            
  EDIT START=TRNG111A,TYPE=INCLUDE,STEPNAME=(STEP1,STEP3)

Copy Datasets Using IEBGENER

//JOBCOPY1  JOB CLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEBGENER                            
//SYSPRINT DD SYSOUT=*                              
//SYSUT1 DD DISP=SHR,DSN=TRNG111.X.X                
//SYSUT2 DD DISP=SHR,DSN=TRNG111.X.Y                
//SYSIN DD DUMMY                                      

Print dataset using IDCAMS

//TRNG111Y JOB CLASS=C,NOTIFY=TRNG111
//S1 EXEC PGM=IDCAMS                
//SYSPRINT DD SYSOUT=*              
//SYSIN DD *                        
  PRINT INDATASET(TRNG111.X.X) CHAR

//* CHAR/HEX/DUMP   SKIP(nnn)   COUNT(mmm)  (for all datasets)




//TRNG111C JOB CLASS=C,NOTIFY=TRNG111            
//S1 EXEC PGM=IDCAMS                              
//SYSPRINT DD SYSOUT=*                            
//ABC DD DSN=TRNG111.X.X,DISP=SHR                
//XYZ DD DSN=TRNG111.Y.X,DISP=SHR                
//SYSIN DD *                                      
  REPRO INFILE(ABC) OUTFILE(XYZ) SKIP(1) COUNT(2)  

List Catalog using IDCAMS

//TRNG111Z JOB CLASS=C,NOTIFY=TRNG111
//S1 EXEC PGM=IDCAMS                  
//SYSPRINT DD SYSOUT=*                
//SYSIN DD *                          
  LISTCAT ENTRIES(TRNG111.X.X) ALL     

Delete Dataset Using IDCAMS


//TRNG111Y JOB CLASS=C,NOTIFY=TRNG111
//S1 EXEC PGM=IDCAMS                
//SYSPRINT DD SYSOUT=*              
//SYSIN DD *                        
  DELETE 'TRNG111.Y.X'                

Copy Using IDCAMS

Copy Using IDCAMS

//TRNG111C JOB CLASS=C,NOTIFY=TRNG111    
//S1 EXEC PGM=IDCAMS                    
//SYSPRINT DD SYSOUT=*                  
//SYSIN DD *                            
  REPRO IDS(TRNG111.X.X) ODS(TRNG111.X.X) 

Create GDG

Define GDG

//TRNG111G JOB CLASS=A,MSGCLASS=X,NOTIFY=TRNG111              
//S1 EXEC PGM=IDCAMS                                          
//SYSPRINT DD SYSOUT=*                                        
//MOD1 DD DSN=TRNG111.GDG1.MOD,DISP=(NEW,CATLG),              
// DCB=(LRECL=80,BLKSIZE=8000,RECFM=FB),SPACE=(TRK,0)        
//SYSIN DD *                                                  
  DEFINE GDG(NAME(TRNG111.TEST.GDG)  LIMIT(5) NOEMPTY SCRATCH


Create GDG

//TRNG111A JOB NOTIFY=TRNG111                              
//S1 EXEC PGM=IEBGENER                                      
//SYSPRINT DD SYSOUT=*                                      
//SYSUT1 DD DSN=TRNG111.X.X,DISP=SHR                        
//SYSUT2 DD DSN=TRNG111.TEST.GDG(+1),DISP=(NEW,CATLG),      
//       SPACE=(TRK,(10,5)),                                
//      DCB=(TRNG111.GDG1.MOD,LRECL=80,BLKSIZE=8000,RECFM=FB)
//SYSIN DD DUMMY                                              

COPY and Compress Data-Sets

//TRNG111C JOB CLASS=A,MSGLEVEL=(1,1),NOTIFY=TRNG111
//STEP1  EXEC PGM=IEBCOPY                            
//SYSPRINT DD SYSOUT=*                              
//ABC DD DSN=TRNG111.NEW.COBOL,DISP=SHR              
//XYZ DD DSN=TRNG111.NEW.COBOL,DISP=SHR              
//SYSIN DD *                                        
  COPY INDD=ABC,OUTDD=XYZ                             

COPY Data-set Members using Procedure

Procdure Code

//D3PROC1 PROC            
//STEP1 EXEC PGM=IEBCOPY  
//SYSPRINT DD SYSOUT=&C1  
//ABC DD DSN=&XXX,DISP=SHR
//XYZ DD DSN=&YYY,DISP=SHR
//SYSIN DD DUMMY          


Job Code

//TRNG111P JOB NOTIFY=TRNG111                                  
//       JCLLIB ORDER=TRNG352.NEW.JCL                          
//S1 EXEC D3PROC1,C1=*,XXX=TRNG111.NEW.JCL,YYY=TRNG111.JCL.TEST
//STEP1.SYSIN DD *                                              
     COPY INDD=ABC,OUTDD=XYZ