Release Date: 03/11/2025
Version: 8.x & Up
Q - On the Elliott PSQL database server, I also run defer processing. I try to manually perform a COP Posting and receive the following message:
Error 9/013 saving
C:\USERS\ADMINI~1\APPDATA\LOCAL\TEMP\2\CP0305.20250117.122623.SUPERVISOR.COP_Sales_Journal..1.Txt
This is repeatedly happening. I look at the C:\USERS\ADMINI~1\APPDATA\LOCAL\TEMP\2 folder, and I don't see any files with similar name. On the other hand, I look at C:\USERS\ADMINI~1\APPDATA\LOCAL\TEMP folder, and I see a similar file CP0305'20250117'122623.SUPERVISOR'^'~.TXT. See sample screen below:
If I stop my defer processing from running in the background and exit all Elliott sessions in my console session, then I start up Elliott, this problem is fixed. Do you know what has happened to cause this error?
A - To be short, this is a bug and the problem has been fixed on 03/04/2025 for Elliott 8.6. If you run Elliott V8.6 version released after this date, then the problem should be fixed.
To give a little bit more details about the nature of this problem, this issue is related
to the “Temp” folder in the users profile. In Elliott legacy report printing (i.e., Non Report Desk Reports,) Elliott uses the user profile temp folder to create a temporary TXT file. The file name would be similar to the following:
CP0305'20250117'122623.SUPERVISOR'^'~.TXT
When
- CP0305 - This is the printing task name.
- 20250117 - This is the date stamp in the format of YYYYMMDD.
- 122623 - This is the military time stamp in the format of HHMMSS.
- SUPERVISOR - This is the user who printed the report.
Note while this file name is similar to the Elliott spooled report file name format, it is not identical. For example, when we create this temporary file, we don't know how many pages this report will have. Upon the completion of this report, the system will rename this file to the final format. Let's say this report has 1 page, then the final file name will become:
CP0305.20250117.122623.SUPERVISOR.COP_Sales_Journal..1.Txt
It is when the system tries to rename the temporary file name to the final file name that it encounters the error 9/013. Why do we encounter the error? When we first start to create the spooled report, we inquiry the system for the temp folder and get the value:
C:\USERS\ADMINI~1\APPDATA\LOCAL\TEMP
But when we try to rename the file, we get the value:
C:\USERS\ADMINI~1\APPDATA\LOCAL\TEMP\2
Because the system assumes the temp file should be in the same folder, we get the renaming error. Windows OS changes the temp folder periodically for maintenance purposes. When Elliott first starts up, we see the temp folder value as C:\USERS\ADMINI~1\APPDATA\LOCAL\TEMP. This value stays static throughout the lifetime of the Elliott session. Since you normally keep defer processing running for a long time without exiting, this temp folder may be an old path while the current Windows OS temp folder has changed, which it used when it tries to rename.
To fix this problem, before we spool the report to the temp folder, we no longer rely on the temp folder at the Elliott start up time. Instead we will use the latest temp folder from Windows. By doing this, we will most likely reduce the occurrence of this error message. In addition, we now keep track of any spooled report file renaming error in RenError.Log in the corresponding company log folder.
Note: you can get the current Windows OS temp folder by going to the command prompt and typing "%temp%"
Modified Programs: LOG2FILE.MAC, TEMPPATH.PL, PRINTNSI.PL, NWSMDFRP, PRINT30.CBL, PRINT240.CBL, SMASYNC.CBL
EMK