Filewatch utility – file triggering

  • Post category:JCLUtilities
  • Reading time:2 mins read

The filewatch utility is not a well known utility, that can be very handy. I have used it especially when I needed process a unix file after it has been copied to a certain directory.

This is the documentation about the filewatch utility:

https://www.ibm.com/support/knowledgecenter/SSRULV_9.3.0/com.ibm.tivoli.itws.doc_9.3/zos/src_man/eqqr1hfszfstrig.htm

Th job below is submitted and then waiting and activated when there is a change in the input directory /yourdirectory/testfileloc

The job itself moves the files in the input directory to a processing directory, starts the next “watch” job and then the processing job for the files in the processing directory.

The setup is clearly to test the mechanism – and not necessarily a model for a production-like situation. In a production situation you might want to use TWS applications etc, but that is up to your application design of course.

I hope this helps.

 //STEP01  EXEC PGM=EQQFLWAT,PARM='/-c wcr -dea 900 -i 20
 //             -r 123 -t 3 -fi /yourdirectory/testfileloc'
 //*
 //* Register and move files
 //RUNSCRPT EXEC PGM=IKJEFT01,REGION=0M
 //STDOUT   DD SYSOUT=*
 //STDERR   DD SYSOUT=*
 //SYSTSPRT DD SYSOUT=*
 //SYSTSIN  DD *
 BPXBATSL SH  -
   mv /yourdirectory/testfileloc* /yourdirectory/testfileloc/processing
 //*
 //* Then kick off separate job
 //* - Next filewatch job
 //*
 //SUBJOB   EXEC PGM=IEBGENER
 //SYSIN    DD DUMMY
 //SYSPRINT DD DUMMY
 //SYSUT1   DD DISP=SHR,DSN=YOURPDS.JCL(EQQFLWAT)
 //SYSUT2   DD SYSOUT=(A,INTRDR)
 //*
 //* - Processing job
 //*
 //SUBJOB   EXEC PGM=IEBGENER
 //SYSIN    DD DUMMY
 //SYSPRINT DD DUMMY
 //SYSUT1   DD DISP=SHR,DSN=YOURPDS.JCL(PROCJOB)
 //SYSUT2   DD SYSOUT=(A,INTRDR)
 //*
 //*