Tuesday, March 8, 2011

Fileaid - To copy records baced on condition

//STEP020  EXEC  PGM=FILEAID                              
//DD01     DD  DSN=&TYPE1.CCUL.UL139.CONSERVE.EXTRACT,    
//             DISP=SHR                                   
//USXTRCT  DD  DSN=&TYPE1.CCCN.CN2300WP.EXTRACT(+1),      
//             DISP=(,CATLG,DELETE),                      
//             UNIT=SYSDA,                                
//             SPACE=(CYL,(1,1)),                         
//             DCB=RECFM=FB                               
//*                                                       
//CANXTRCT DD  DSN=&TYPE1.CCCN.CN2300WP.EXTRACT.CAN(+1),  
//             DISP=(,CATLG,DELETE),                      
//             UNIT=SYSDA,                                
//             SPACE=(CYL,(1,1)),                         
//             DCB=RECFM=FB                               
//*                                                       
//SYSIN    DD  DSN=PAWPC.CICA.PARMLIB(CN230002),                                                                      

//             DISP=SHR                                   
//SYSOUT   DD  SYSOUT=*                                   
//*                                                       


PAWPC.CICA.PARMLIB(CN230002)

$$DD01 USER  IF=(1,EQ,C'E'),             
           ORIF=(1,EQ,C'N'),WRITE=USXTRCT,
             IF=(1,EQ,C'W'),WRITE=CANXTRCT

Sunday, February 6, 2011

IDCAMS - job to verify online vsam file

//VERIFY   EXEC PGM=IDCAMS,REGION=1M                                   
//VIOCTL   DD DSN=ACTIVATE,DISP=SHR,AMP='AMORG',VOL=REF=SYS1.LINKLIB   
//SYS014   DD DSN=PCCPU.IOBSC.MASTER,DISP=OLD                          
//AMSDUMP  DD SYSOUT=*                                                 
//SYSPRINT DD SYSOUT=*                                                 
//SYSIN    DD *                                                        
   VERIFY FILE(SYS014)                                                 
//*                                                                    

Syncsort - Copy reocrds from Variable (VB) to Fixed (FB) file

//STEP001  EXEC  PGM=SYNCSORT                                        
//*SORTIN   DD  DSN=PCCAR.AR4050WP.SORTED.REGIONS.BKUP.G0005V00,     
//SORTIN   DD  DSN=PCCPU.PU0400DP.INPUT.TRACRECS(0),                 
//             DISP=SHR                                              
//SORTOUT  DD  DSN=TCCPU.PU0400DP.INPUT.TRACRECS.VBTOFB,             
//             DISP=(,CATLG,DELETE),                                 
//             UNIT=SYSDA,                                           
//             SPACE=(CYL,(550,150),RLSE),                           
//             DCB=(RECFM=FB,BLKSIZE=0)                              
//SYSOUT   DD  SYSOUT=*                                              
//SYSIN    DD  *                                                     
  SORT FIELDS=COPY                                                   
  OUTREC FIELDS=(1:5,10000),CONVERT                                  
//
                                                                   

Copying from VSAM to Flatfile

//STEP005   EXEC PGM=IDCAMS                                   
//SYSPRINT DD  SYSOUT=*                                       
//BTCHIN   DD  DSN=OCCUL.IDPI991.POLMASTR,                    
//*BTCHIN   DD  DSN=TCCPU.IOBSC.MASTER,                       
//             DISP=SHR                                       
//*                                                           
//*BTCHSQ   DD  DSN=TCCPU.IOBSC.MASTER.ALLDB,                 
//BTCHSQ   DD  DSN=TCCPU.OCCUL.IDPI991.POLMASTR,              
//             DISP=(NEW,CATLG,DELETE),                       
//             UNIT=CART,                                     
//             DCB=RECFM=VB                                   
//*            UNIT=SYSDA,                                    
//*            SPACE=(CYL,(800,800),RLSE),                    
//*            DCB=RECFM=FB                                   
//*            DCB=(RECFM=VB,LRECL=2000)                      
//SYSIN    DD  *                                              
  REPRO INFILE(BTCHIN) OUTFILE(BTCHSQ)                        
/*                                                            

Copy from VSAM to Sequential

//******************************************************************** 
//***     VSAM TO SEQUENTIAL                                           
//***                                                                  
//******************************************************************** 
//*
                                                                    
//STEP005   EXEC PGM=IDCAMS                                            
//SYSPRINT DD  SYSOUT=*                                                
//*YSPRINT DD SYSOUT=A                                                 
//OLD  DD DSN=OCCUL.IDPI991.POLMASTR,DISP=SHR                          
//NEW  DD DSN=TCCPU.DLPXV1.POLMASTR,DISP=OLD                           
//SYSIN DD *                                                           
   REPRO -                                                             
       INFILE(OLD) -                                                   
       OUTFILE(NEW) -                                                  
       SKIP(40) -                                                      
       COUNT(50)                                                       
/*
                                                                     

EZACFSM1 - to add date in date/dilename by unsing instream procedure

//DLPXV1A  JOB (SULM2G20),                 
//             CLASS=0,                    
//             MSGCLASS=T,                 
//             NOTIFY=DLPXV1,              
//             USER=DLPXV1                 
//*                                        
//STEP040  EXEC  PGM=EZACFSM1              
//SYSOUT   DD SYSOUT=(*,INTRDR)            
//SYSIN    DD  DATA,DLM=@@                 
//DLPXV1B  JOB (SULM2G20),                 
//*            FTPFTP,                     
//             CLASS=0,                    
//             MSGCLASS=T,                 
//             NOTIFY=DLPXV1,              
//             USER=DLPXV1                 
//*                                        
//STEP050  EXEC PGM=IEBGENER               
//SYSPRINT DD  SYSOUT=*                    
//SYSUT1   DD  DSN=TCCPU.PU0704DP.CLRFY.TES2,DISP=SHR                 
//SYSUT2   DD  DSN=TCCPU.PU0704DP.CLRFY.TES2.D&LYYMMDD,               
//             DISP=(,CATLG,DELETE),                                  
//             UNIT=SYSDA,                                            
//             SPACE=(CYL,(1,1),RLSE),                                
//             DCB=RECFM=FB                                           
//SYSIN    DD  DUMMY                                                  
@@                                                                    
//                                                                    

EZACFSM1 - To add date in the dataset/text file during the job run.

//STEP040  EXEC  PGM=EZACFSM1                              
//SYSPRINT DD  *                                           
//SYSIN    DD  DSN=TCCPU.DLPXV2.PARMLIB(BKBBFLE),                                                                   

//             DISP=SHR                                    
//SYSOUT   DD  DSN=TCCPU.DLPXV2.FTPOUT6,                   
//             DISP=(NEW,CATLG,DELETE),                    
//             UNIT=SYSDA,                                 
//             SPACE=(CYL,(1,1),RLSE),                     
//             DCB=RECFM=FB                                
//                                                         
TCCPU.DLPXV2.PARMLIB(BKBBFLE):

PUT 'TCUAC.DB175.TNT.COUNT.UKSI' CBI02_CTRL_FILE_&DAY&MON&LYR4..TXT  
QUIT                                                                 


//STEP050  EXEC  PGM=FTP,                                   
//             PARM='(EXIT=16'                              
//SYSPRINT DD  SYSOUT=*                                     
//OUTPUT   DD  SYSOUT=*                                     
//*                                                         
//INPUT    DD  DSN=TCCPU.DLPXV2.PARMLIB(CLRLOGON),          
//             DISP=SHR                                     
//         DD  DSN=TCCPU.DLPXV2.FTPOUT6,                    
//             DISP=SHR                                     


TCCPU.DLPXV2.PARMLIB(CLRLOGON) - will have the login details of the server and TCCPU.DLPXV2.FTPOUT6 will have the file name with date as per the previous EZ' utility.



(For my information:


Hi Team,
1. We got a requirement to send a file from mainframe to (any) server (txt file format or any format). Txt file name should have rundate (eg:   OB_FILE_29012009.TXT).
Thought to write a program to obtain this naming convention. But, we have identified a Utility program (EZACFSM1) - a translation utility,  where we can get the rundate value to the file name like our &symbolic parameter.
This utility program is very useful to get the Current Date,Current month, Current Year, Sequence Number , so on...
Test job : TCCPU.DLPXV2.FTP(FTPDATE).
2. This utility can also be used with JCL to create the dataset with current date & time, Sequence number. etc  at the time of creation.
)