H-Series Application Migration Guide (H06.03+)

Native COBOL Migration Tasks
H-Series Application Migration Guide429855-006
6-2
Directives Changed
and TNS/E native COBOL compilers and notes the few changes that might be needed
by some programs.
Directives Changed
Following are descriptions of differences in TNS/R and TNS/E COBOL directives.
Some directives can remain in your program and will have no effect, while others can
affect program behavior.
Removal Optional
The following directives are obsolete and are ignored in TNS/E native COBOL. If you
remove them, no replacement or recoding is required. (Note that as with TNS/R native
COBOL, certain TNS/E native COBOL compiler directives have equivalent command
line options in the PC and OSS environments.)
NON-SHARED
On G06.2x systems, the NON-SHARED directive is used with other directives to
determine whether the compiler generates shared (PIC) or non-shared (non-PIC)
code. On H-series systems, all code is PIC, which can be shared. Thus, there is no
need for the NON-SHARED directive. If specified, this directive is ignored and a
warning message is issued.
LARGEDATA
In TNS/R native COBOL, the LARGEDATA directive determines whether data
items are located in the small data area or the large data area. In TNS/E native
COBOL, there is no distinction between the large data area and the small data
area, so this directive is ignored and a warning message is issued.
LESS-CODE
TNS/E native COBOL does not support the option to use a system call to initialize
the Extended-Storage Section. If specified, this directive has no effect and a
warning message is issued.
Possible Changes Required
The following directives behave differently in TNS/E native COBOL. (Note that as with
TNS/R native COBOL, certain TNS/E native COBOL compiler directives have
equivalent command line options in the PC and OSS environments.)
UL
In TNS/R native COBOL, the UL directive generates a native user library, which is
an SRL in the TNS/R native environment. On H-series systems, SRLs are not
supported. All libraries are DLLs. In TNS/E native COBOL, the UL directive has the
same effect as the SHARED directive; that is, it generates PIC that can be used to
create a DLL. In TNS/E native COBOL, as in TNS/R native COBOL, specifying UL