This appendix discusses CA IDMS support for programs compiled under the VS COBOL II compiler. It is divided into two parts:
Note: This appendix applies only to programs run in the online DC/UCF system. Except where specifically noted, it does not apply to programs run in another region (such as batch or CICS Transaction Server) even if the programs contain CA IDMS DML commands.
Note: All the provisions of this appendix also apply to programs compiled under an LE-compliant compiler, unless otherwise noted. For more information about IBM Language Environment and LE-compliant ompilers, see Considerations for IBM Language Environment.
Programs compiled under VS COBOL II can be run under the IBM runtime Language Environment subject to the requirements documented by IBM and the CA IDMS restrictions documented below in this appendix and in Considerations for IBM Language Environment. IBM no longer supports programs running under the VS COBOL II runtime environment.
This section contains the following topics:
Features Not Supported by CA IDMS
The following COBOL II features are supported by CA IDMS:
Note: Quasi-reentrancy is not supported for VS COBOL II programs. It is strongly recommended that all COBOL II programs be compiled with the RENT option. A separate copy of each NORENT COBOL II program will be loaded for each concurrent task. CPU and storage utilization will be extremely high.
The following combinations of RENT and RES options are supported:
Note: 31-bit programs require the RENT and RES options. This combination is recommended for most efficient processing. The RES option is not relevant to LE-compliant compilers, which always use this option.
The RENT/NORES combination is not allowed by the VS COBOL II compiler.
Do not confuse the RES compiler option with the CA IDMS RESIDENT parameter (assigned at SYSGEN or by using a DCMT command). The CA IDMS RESIDENT parameter causes the user program to be loaded into the resident pool during startup, and remains there for the duration of system execution.
RMODE and AMODE Attributes
Compiler options |
Default RMODE/AMODE |
---|---|
RES/RENT |
RMODE(ANY) AMODE(ANY) |
RES/NORENT |
RMODE(24) AMODE(ANY) |
NORES/NORENT |
RMODE(24) AMODE(24) |
To run a task in 31-bit mode, it must be defined with a LOCATION of ANY (at SYSGEN or at runtime using a DCMT VARY DYNAMIC PROGRAM command).
To call a program dynamically you must use the call identifier format.
A VS COBOL II program can use the COBOL CALL verb to invoke an assembler or COBOL II subprogram. The CA IDMS TRANSFER CONTROL (LINK or XCTL) must be used for invoking VS COBOL subprograms. The subprogram must be defined to the system either at SYSGEN or by using a DCMT VARY DYNAMIC PROGRAM command. The correct language must be specified, and the NONOVERLAYABLE attribute must also be specified.
A COBOL II program and all the COBOL II subprograms that it calls dynamically must be compiled with the same RES/NORES compiler option.
A dynamic call is often a more efficient way for one online VS COBOL II program to call another than the use of a TRANSFER CONTROL DML command. Note, however, that when a dynamic call is made, the DC/UCF system is not aware that the application is running in a new program. Therefore, error messages and program statistics will not reflect the call.
There are also restrictions on using static or dynamic calls when invoking an assembler subprogram. If the assembler program is not fully reentrant or if the assembler program issues any operating system SVC instructions, the program must be invoked with a DC TRANSFER control statement. Note that use of SVC instructions in an online program presents security and performance concerns. Such instructions should be avoided unless they are absolutely necessary. In most cases, DC/UCF system functions can be used instead.
Note: Also see "Performance Improvements with RHDCLEFE" in Appendix I:.
Note: Exercise caution with STRING, UNSTRING, and INSPECT.Use of these may increase SRB time. Commands in a VS/COBOL II environment may cause additional screening of supervisor calls resulting in some performance degradation. This concern does not apply when using VS/COBOL II in an IBM runtime Language Environment provided that RHDCLEFE is defined in the IDMS/DC Sysgen.
For more information about RHDCLEFE, see Appendix I.
Note: See the discussion of the TRUNC option in the section Executing Programs.
IGZOPT SYSTYPE=OS, DEBUG=NO, STAE=NO, AIXBLD=NO, SSRANGE=YES/NO, SPOUT=YES/NO
The following COBOL II features are not supported by CA IDMS:
Note: DATE/TIME related ACCEPT statements are supported in release 14.1and later for COBOL II and LE-compliant compilers.
The debugging features FDUMP and TEST
Copyright © 2014 CA.
All rights reserved.
|
|