J
jamali
Guest
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(filename). 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(ENTRY(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). We are running OpenEdge 10.2b on an HP UNIX Anyone else experience this? Any idea why this is happening intermittently? For the time being, I have switched program B to use UNIX code, in case this is a file locking issue.
Continue reading...
Continue reading...