We have a job that is run each night during our batch, that has the following functionality:
1. A utility is called, to create a flat file in QTEMP (32766 characters). I'll call this "File A"
2. An OVRDBF command then overrides to this file ("File A")
3. A program is then run, which processes things, and writes the results to "File A"
4. Another program is called, which checks the number of records in "File A". If there are 0 records, this program ends, otherwise the contents of "File A" are copied to the persistant version of this file.
5. The override is then removed.
We use this basic process in a number of jobs, without any issue. However, with this one, the job doesn't work properly when run during batch, but when submitted manually (through our scheduling software), it performs as expected. We have verified that there are no object locks. From the logs, it looks as thought the override that was set up to use the file in QTEMP, is somehow being deleted.
At the end of our process, the override is to be deleted (see step 5 above). When this step is run, however, the job logs indicate that the override does not exist. Until we get to step 5, there is nothing in place that would delete this override.
Does anyone have any idea how this could happen?
Note: The job always works fine when submitted manually (through our scheduling software). When run automatically through the same scheduling software, it does not work.