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...
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...