I'm having trouble opening an RM/COBOL indexed file. This program is a very simple example of the issue. It opens an indexed file and then writes the file status from that open step to an output flat file. When this program is run in Visual Studio the file status is 00 but when the exe is run (either by double clicking the exe file or by running it in command prompt) it is 30.
I tried running Process Monitor (technet.microsoft.com/.../processmonitor.aspx) with a filter for any path containing "c:\temp\in-file". Leaving that while running the test program in Visual Studio, I see many processes show up. But then if I keep the monitoring going while running the exe, it shows no processes trying to access the input file, almost as if it never even tries to open the file.
What could be different about running this program in Visual Studio vs running the compiled exe?
SELECT IN-FILE ASSIGN TO "c:\temp\in-file"
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS IN-KEY
FILE STATUS IS FILESTAT.
select out-file assign to "C:\temp\out-file"
organization is line sequential.
LABEL RECORD IS STANDARD
DATA RECORD IS PL-POINTER-RECORD.
03 FILLER PIC X(3).
03 FILLER PIC 9(3).
02 FILLER PIC 9(2).
01 out-rec pic x(8).
01 FILESTAT PIC X(2).
01 FILESTAT-EXTENDED REDEFINES FILESTAT.
02 FILESTAT-EXT-1 PIC X.
02 FILESTAT-EXT-2 PIC X.
02 FILESTAT-EXT-2-BINARY REDEFINES FILESTAT-EXT-2 PIC 99 COMP-X.
01 FILESTAT-EXT-2-BINARY-DISP PIC 9(03).
open output out-file.
OPEN INPUT IN-FILE.
move filestat to out-rec.
close in-file out-file.