[stackoverflow] [progress Openedge Abl] File Created By Openedge "output" Not Available To...

Status
Not open for further replies.
I

Irfan jamal

Guest
We are running OpenEdge 10.2b on an HP UNIX

We have been experiencing some strange behaviour regarding file availability between PROGRESS and UNIX. The situation is this: Program A calls program B (in a loop, once per file, for 10-15 files). Program B creates a file using code similar to this:

OUTPUT STREAM ST-strm TO VALUE(CH-to-file).
PUT STREAM ST-strm UNFORMATTED CH-first-line SKIP.
OUTPUT STREAM ST-strm CLOSE.
OS-APPEND VALUE(CH-from-file) VALUE(CH-to-file).


END OF PROGRAM B

Program A then calls program C to FTP the file to a certain location:

OUTPUT STREAM ST-ftp THROUGH VALUE("ftp -v -n > " + CH-ftp-log-file + " 2>" + CH-ftp-error-file).
[Connection data here]
[loop over file list of files]
PUT STREAM ST-ftp UNFORMATTED "put " CH-host-file " " CH-server-file SKIP.


END OF PROGRAM C

Program A then runs the code to cleanup: if no errors returned from program C (it checks the CH-ftp-error-log) then:

[loop over file list of files]
OS-DELETE VALUE(CH-host-file).


We are getting errors in the FTP stream where the CH-host-file is not found, even though the file was just created by program B. This error occurs intermittently, and it is always the last X number of files (for example, if there are fifteen files to be sent, and 4 files fail due to "host file not found" it will always be the last 4 in the list). It is usually 3-6 files that are not sent, and it happens about once every two weeks, but some weeks have multiple occurrences (this is a daily job).

Does anyone have any idea what is going on?

For the time being, I have switched program B to use UNIX code, in case this is a file locking issue.

Continue reading...
 
Status
Not open for further replies.
Top