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) //* //*