Quantcast
Channel: Visual COBOL - Forum - Recent Threads
Viewing all articles
Browse latest Browse all 4356

RE: Opening RM File

$
0
0

When this program runs in Visual Studio, it opens the RM/COBOL file with FILE STATUS zero. Maybe I’m overlooking an error status and should try a USE statement. But, it appears there isn't an error opening the file, because the program is able to read the file.

 

When this program runs outside Visual Studio, a non-zero FILE STATUS is returned when the RM/COBOL file is opened. And the program can't read any records. In that case, it appears not to need the USE statement to return a non-zero FILE STATUS.

 

Perhaps this program simplifies the test:

          open output out-file.

          open output in-file.

          move FILESTAT to out-rec.

          write out-rec.

          move "AA" to in-record.

          write in-record.

          close in-file.

          open input in-file.

          move FILESTAT to out-rec.

          write out-rec.

          initialize in-record.

          read in-file next.

          move FILESTAT to out-rec.

          write out-rec.

          move IN-RECORD to out-rec.

          write out-rec.

          close in-file out-file.

 

The contents of out-file after running in Visual Studio:

00

00

00

AA

 

The contents of out-file after running the exe (the fourth record is spaces):

30

30

47

 

 

I appreciate the suggestion to try a USE statement. I haven’t written RM/COBOL programs and I wasn’t familiar with that syntax. I added this to the top of the procedure division:

       DECLARATIVES.

       OUT-FILE-IO-ERROR-HANDLING SECTION.

          USE AFTER STANDARD ERROR PROCEDURE ON IN-FILE.

          display "error " filestat.

          accept filestat from console.

       END DECLARATIVES.

       MAIN-PROGRAM SECTION.

 

Running in Visual Studio, it never hits the USE error section. Running the exe outside Visual Studio results in the following displays on the screen:

error 30

error 48

error 42

error 30

error 47

error 42

 

The question remains: Why is this program working differently in Visual Studio from outside Visual Studio?


Viewing all articles
Browse latest Browse all 4356

Trending Articles