Problem:
If you are migrating from an Object COBOL Developer Suite (OCDS) v4.1 release to a Server Express v2.x release, then there are some points you should have keep mind.
Resolution:
Source Code from OCDS should compile cleanly with Server Express. So, you should only need to move over your source files, recompile, and re-link your application. However, as you can no longer link your application as a static executable, you might need to change how your application is built. The following describes some of the changes pertinent to those moving applications from OCDS to Server Express.
Cob flags now obsolete in Server Express:
There are some cob flags that are no longer supported with in the Server Express product. These are:
Cob flag
Description
-B mode[=lib]
Select the system linker binding mode
B mode[=lib]
Select the system linker binding mode and pass to system linker after COBOL libraries
-F
Create an RTS quickly
F symb
Create an RTS quickly and add symb to a linked data table
-G
Generate for animation
New cob flags introduced in Server Express:
There are five new cob flags that have been introduced in the Server Express product. These are:
Cob flag
Description
-z
Process to callable shared object
-Z
Process to shared library
-zCC
Process to callable shared object including C support
-ZCC
Process to shared library, including C support
-xCC
Process to system executable file including C support
The shell script mkrts is no longer included.
The runtime system in Server Express is shared library oriented. That means every linked binary program can be used to call int and gnt files, as well as the new callable shared objects.
In OCDS V4.1 and earlier, an executable RTS was required when you needed to link C and C programs into your application. This executable RTS was created using the mkrts utility. However, C and C programs can now exist within callable shared objects; therefore it is no longer necessary to create an executable RTS for this.
If you require, you can create an executable RTS using cob. For example:
cob -xo rts.new subprogs.c -e ""
This creates an executable RTS that contains the same level of functionality as the default Server Express run-time system, which also includes the C subroutines held in the file subprogs.c.
The file handling utilities fhutils are no longer supported
While the fhutils functions were actually dropped from the last OCDS release, in favour of the newer functionality in the Rebuild function, this list is included to aide those moving to Server Express from earlier OCDS releases. Listed below are the original fhutils features, together with their equivalent Rebuild options. In most cases there is a one-to-one mapping of these features.
fhinfo
Replaced by rebuild -n. Rebuild gives organization, recording mode, record length, and key description whereas fhinfo gave file information and index information.
fhrebuild
Replaced by rebuild filename .... This is a direct equivalent.
fhvalidate
Replaced by rebuild -f. The new interface provides greater functionality. For formats 3, 4 and C-ISAM, it checks data file structure, free space list (FSL) structure, FSL entries match data file, index file structure, index and data match and checks all the keys against the data file. For other file formats, the integrity checking is on the same level as fhvalidate.
fhconvert
Replaced by rebuild filename,filename.... It is a direct equivalent.
fhcreate
No equivalent in Rebuild. This function enabled you to create an empty indexed file. You must write a simple COBOL program to recreate this functionality.
fhreorg
Replaced by rebuild -x. This feature enables you to reorganize an indexed file on any record key. This differs from fhreorg in that fhreorg enabled you to reorganize ascending or descending.
fhedit
This is replaced by the rebuild filename... command line. With the -k option you can create your own key structure as long as the key structure is wholly contained within the minimum record length.
For more information about the differences between OCDS and Server Express see the Migration Guide in the Server Express Documentation.