Skip to main content

I have an application copied from a SCO UnixWare system (using a Liant COBOL runtime and compiler) to a SUSE Linux system (using Visual COBOL 2.2).  Copying was as simple as taring the application, copying over to the new system, and untar.  Paths are all the same, as are permissions.  The immediate goal is to simply get the application running on the new system.  This is the FILE-CONTROL:

SELECT INQFL 

                 ASSIGN TO RANDOM "/mypath/INQFL" 

                 ORGANIZATION IS INDEXED 

                 ACCESS MODE IS DYNAMIC 

                 RECORD KEY IS I-KEY 

                 FILE STATUS IS IND-STATUS. 

The application compiles but on execution of the line OPEN INPUT INQFL, IND-STATUS contains "98".  The debugger shows the INQFL with "Closed Last status: 9/56".

Not finding much help online, anyone have any ideas?


#98
#migration
#File
#error
#status
#VisualCOBOL
#956
#COBOL

I have an application copied from a SCO UnixWare system (using a Liant COBOL runtime and compiler) to a SUSE Linux system (using Visual COBOL 2.2).  Copying was as simple as taring the application, copying over to the new system, and untar.  Paths are all the same, as are permissions.  The immediate goal is to simply get the application running on the new system.  This is the FILE-CONTROL:

SELECT INQFL 

                 ASSIGN TO RANDOM "/mypath/INQFL" 

                 ORGANIZATION IS INDEXED 

                 ACCESS MODE IS DYNAMIC 

                 RECORD KEY IS I-KEY 

                 FILE STATUS IS IND-STATUS. 

The application compiles but on execution of the line OPEN INPUT INQFL, IND-STATUS contains "98".  The debugger shows the INQFL with "Closed Last status: 9/56".

Not finding much help online, anyone have any ideas?


#98
#migration
#File
#error
#status
#VisualCOBOL
#956
#COBOL

mainframe230.blogspot.com.tr/.../file-status-codes-or-cobol-abend-codes.html

Code 98 means:  File is Locked - OPEN failed

There is also this:

supportline.microfocus.com/.../tip6.asp

Recovering a Corrupted File (File Status 98)

And there's this

objectmix.com/.../738951-error-98-90-a.html

Re: Error 98,90

98,90 is pretty well known as a file locking issue when using mapped

drives.

The main reason for file error 98,90's is when runtimes terminate

incorrectly. Normally when the runtime shuts down it will update some

information in the Vision file header and subtract itself from the

user count that is also in the Vision File header. If the information

in the header is incorrect the runtime will report a corruption

error.

So, the file is 'not good' is the first port of call, IMO

Investigate the conditions under which the original copy from the source system took place - maybe it was done while the system was 'in use'

That's what I'd do first

If  no luck then go back to the source system, copy the file to sequential, and re-load under the new system

I hope you get it sorted out


I have an application copied from a SCO UnixWare system (using a Liant COBOL runtime and compiler) to a SUSE Linux system (using Visual COBOL 2.2).  Copying was as simple as taring the application, copying over to the new system, and untar.  Paths are all the same, as are permissions.  The immediate goal is to simply get the application running on the new system.  This is the FILE-CONTROL:

SELECT INQFL 

                 ASSIGN TO RANDOM "/mypath/INQFL" 

                 ORGANIZATION IS INDEXED 

                 ACCESS MODE IS DYNAMIC 

                 RECORD KEY IS I-KEY 

                 FILE STATUS IS IND-STATUS. 

The application compiles but on execution of the line OPEN INPUT INQFL, IND-STATUS contains "98".  The debugger shows the INQFL with "Closed Last status: 9/56".

Not finding much help online, anyone have any ideas?


#98
#migration
#File
#error
#status
#VisualCOBOL
#956
#COBOL

Yes, the new system is definitely treating the indexed file as corrupt.   I just tested copying the tarball back to the source system and untarring it.  I pointed the application to this copy of the file it and it worked without a hitch.

So I'm thinking the problem is more with the indexed file is simply incompatible with the new system.

The difference is one system is running Liant's RM/COBOL v6.61 for SCO UnixWare 7 and the new system is Visual COBOL v2.2 for Eclipse on SUSE Linux.  I wonder if there is a difference in how indexed files are organized between the two, and files aren't directly compatible between the two.


I have an application copied from a SCO UnixWare system (using a Liant COBOL runtime and compiler) to a SUSE Linux system (using Visual COBOL 2.2).  Copying was as simple as taring the application, copying over to the new system, and untar.  Paths are all the same, as are permissions.  The immediate goal is to simply get the application running on the new system.  This is the FILE-CONTROL:

SELECT INQFL 

                 ASSIGN TO RANDOM "/mypath/INQFL" 

                 ORGANIZATION IS INDEXED 

                 ACCESS MODE IS DYNAMIC 

                 RECORD KEY IS I-KEY 

                 FILE STATUS IS IND-STATUS. 

The application compiles but on execution of the line OPEN INPUT INQFL, IND-STATUS contains "98".  The debugger shows the INQFL with "Closed Last status: 9/56".

Not finding much help online, anyone have any ideas?


#98
#migration
#File
#error
#status
#VisualCOBOL
#956
#COBOL

Yes, the new system is definitely treating the indexed file as corrupt.   I just tested copying the tarball back to the source system and untarring it.  I pointed the application to this copy of the file it and it worked without a hitch.

So I'm thinking the problem is more with the indexed file is simply incompatible with the new system.

The difference is one system is running Liant's RM/COBOL v6.61 for SCO UnixWare 7 and the new system is Visual COBOL v2.2 for Eclipse on SUSE Linux.  I wonder if there is a difference in how indexed files are organized between the two, and files aren't directly compatible between the two.


I have an application copied from a SCO UnixWare system (using a Liant COBOL runtime and compiler) to a SUSE Linux system (using Visual COBOL 2.2).  Copying was as simple as taring the application, copying over to the new system, and untar.  Paths are all the same, as are permissions.  The immediate goal is to simply get the application running on the new system.  This is the FILE-CONTROL:

SELECT INQFL 

                 ASSIGN TO RANDOM "/mypath/INQFL" 

                 ORGANIZATION IS INDEXED 

                 ACCESS MODE IS DYNAMIC 

                 RECORD KEY IS I-KEY 

                 FILE STATUS IS IND-STATUS. 

The application compiles but on execution of the line OPEN INPUT INQFL, IND-STATUS contains "98".  The debugger shows the INQFL with "Closed Last status: 9/56".

Not finding much help online, anyone have any ideas?


#98
#migration
#File
#error
#status
#VisualCOBOL
#956
#COBOL

Yes, the new system is definitely treating the indexed file as corrupt.   I just tested copying the tarball back to the source system and untarring it.  I pointed the application to this copy of the file it and it worked without a hitch.

So I'm thinking the problem is more with the indexed file is simply incompatible with the new system.

The difference is one system is running Liant's RM/COBOL v6.61 for SCO UnixWare 7 and the new system is Visual COBOL v2.2 for Eclipse on SUSE Linux.  I wonder if there is a difference in how indexed files are organized between the two, and files aren't directly compatible between the two.


I have an application copied from a SCO UnixWare system (using a Liant COBOL runtime and compiler) to a SUSE Linux system (using Visual COBOL 2.2).  Copying was as simple as taring the application, copying over to the new system, and untar.  Paths are all the same, as are permissions.  The immediate goal is to simply get the application running on the new system.  This is the FILE-CONTROL:

SELECT INQFL 

                 ASSIGN TO RANDOM "/mypath/INQFL" 

                 ORGANIZATION IS INDEXED 

                 ACCESS MODE IS DYNAMIC 

                 RECORD KEY IS I-KEY 

                 FILE STATUS IS IND-STATUS. 

The application compiles but on execution of the line OPEN INPUT INQFL, IND-STATUS contains "98".  The debugger shows the INQFL with "Closed Last status: 9/56".

Not finding much help online, anyone have any ideas?


#98
#migration
#File
#error
#status
#VisualCOBOL
#956
#COBOL

The two indexed file formats are not the same by default. The RM COBOL uses the RM File handler and the Visual COBOL product defaults to Micro Focus file handler.

If you wish to read RM files in a Visual COBOL program you have to specify the file as IDXFORMAT"21".

Please see the section here in the docs that covers RM compatibility issues and in particular RM File Handling.

Thanks.


I have an application copied from a SCO UnixWare system (using a Liant COBOL runtime and compiler) to a SUSE Linux system (using Visual COBOL 2.2).  Copying was as simple as taring the application, copying over to the new system, and untar.  Paths are all the same, as are permissions.  The immediate goal is to simply get the application running on the new system.  This is the FILE-CONTROL:

SELECT INQFL 

                 ASSIGN TO RANDOM "/mypath/INQFL" 

                 ORGANIZATION IS INDEXED 

                 ACCESS MODE IS DYNAMIC 

                 RECORD KEY IS I-KEY 

                 FILE STATUS IS IND-STATUS. 

The application compiles but on execution of the line OPEN INPUT INQFL, IND-STATUS contains "98".  The debugger shows the INQFL with "Closed Last status: 9/56".

Not finding much help online, anyone have any ideas?


#98
#migration
#File
#error
#status
#VisualCOBOL
#956
#COBOL

Thank you to both of you!  Paul for the mental push that the file was corrupt, and Chris for pointing me to the solution.


I have an application copied from a SCO UnixWare system (using a Liant COBOL runtime and compiler) to a SUSE Linux system (using Visual COBOL 2.2).  Copying was as simple as taring the application, copying over to the new system, and untar.  Paths are all the same, as are permissions.  The immediate goal is to simply get the application running on the new system.  This is the FILE-CONTROL:

SELECT INQFL 

                 ASSIGN TO RANDOM "/mypath/INQFL" 

                 ORGANIZATION IS INDEXED 

                 ACCESS MODE IS DYNAMIC 

                 RECORD KEY IS I-KEY 

                 FILE STATUS IS IND-STATUS. 

The application compiles but on execution of the line OPEN INPUT INQFL, IND-STATUS contains "98".  The debugger shows the INQFL with "Closed Last status: 9/56".

Not finding much help online, anyone have any ideas?


#98
#migration
#File
#error
#status
#VisualCOBOL
#956
#COBOL

Thank you to both of you!  Paul for the mental push that the file was corrupt, and Chris for pointing me to the solution.