The following section covers the known issues when submitting RM/COBOL source programs to this COBOL system. Where possible, work-arounds and resolutions are also provided.
Perform Statements
PERFORM statements are not treated in the same way by both COBOL systems. This COBOL system uses a stack-based perform handling system, while the RM/COBOL system associates a return address with a specific procedure name.
Nested COPY statements with REPLACING phrase In Visual COBOL, you cannot specify text replacement as part of a nested COPY statement when text replacement is already active as part of a COPY statement.
Duplicate Paragraph-names Visual COBOL and RM/COBOL differ in the way that they reference paragraph-names when two or more duplicate paragraph names exist differs.
Figurative Constants and the USING Phrase
In Visual COBOL, to use figurative constants in the USING phrase of a CALL statement or as values of level 78 constants, set the DIALECT"RM" Compiler directive.
File Not Found Errors Visual COBOL and RM/COBOL differ in the environment variables that they use to locate program and data files.
Indexed File Error on Open Visual COBOL and RM/COBOL differ in how they handle record length fields and some data fields when you open an RM/COBOL indexed file.
Linkage Section in Main Program Visual COBOL and RM/COBOL differ in their ability to reference the Linkage Section items in the main program.
Nested OCCURS DEPENDING Clauses
In Visual COBOL, if you are using nested OCCURS DEPENDING clauses, you must set the ODOSLIDE Compiler directive.
Numbering of Segments Visual COBOL and RM/COBOL differ in the number of segments that they permit you to specify.
Program Identification and Data Names
In Visual COBOL, ensure that the Program-ID name does not share the same name as any data items in the program.
REMARKS Paragraph
In Visual COBOL, if your program uses the REMARKS paragraph in the Identification Division, you must set the DIALECT"RM" Compiler directive.
Reserved Words
In Visual COBOL, setting certain Compiler directives (such as RM and ANS85) activates certain reserved words that you cannot use as names for your data items.
Source Code in Columns 73 to 80 Visual COBOL ignores any of the code in your source programs which lies within columns 73-80 inclusive.
START WHILE LIKE Not Available Visual COBOL and RM/COBOL differ in the way that they allow you to select records from and indexed organization file.
Undeclared Data Items in Clauses
In Visual COBOL, if the data item used in a clause (for example, the File Status clause) is not declared, you receive an error.
User-names Longer than 127 Bytes are Truncated
In RM/COBOL, you can specify user-names (data-names, procedure-names, program-names, etc) up to 240 characters long. In this COBOL system, user-names longer than 127 bytes in length are truncated and a warning message is produced.
Using Relative Path Names
If your RM/COBOL application relies on the EXPANDED-PATH-SEARCH configuration option to locate files specified with a relative path name, you must set the COPYSEARCH"RM-EXPANDED" Compiler directive in Visual COBOL for equivalent behavior.