Compile and link issues


An application program can use any explicit 

AR/CTL

 call (

AR/CTL

-format checkpoint/restart calls, 

AR/CTL

 common calls, ASAM callable interface calls) with dynamic linking or with static linking (such as specified for COBOL application programs with the NODYNAM compiler option). Considerations for other compiler options may also apply to the use of 

AR/CTL

 with COBOL.

Dynamic linking

If the program uses dynamic linking, the AR/CTL libraries are automatically included at execution time. No change is required for your current link-edit process.

IMS environment

If an existing program uses IMS, the program does not need to be recompiled or relinked unless you made program changes.

Static linking

If a non Db2 program uses static linking, you must include the AR/CTL execution library in the SYSLIB concatenation of the link-edit JCL. The order of the libraries in the concatenation is not important.

If a Db2 application program uses static linking, it must be link-edited with the AR/CTL language interface module (ARCLI000) to replace the Db2 language interface module (DSNALI, DSNELI, or DSNHLI). Member #DB2LNK in the AR/CTL sample library contains sample JCL for link-editing the application program with AR/CTL. Insert the AR/CTL execution load module library ahead of the Db2 load library (DSNLOAD). The following order of libraries is correct:

  1. AR/CTL load library
  2. Compiler (such as COBOL) run time library
  3. IMS RESLIB library (if applicable)
  4. DB2 DSNLOAD library (if applicable)
  5. User load library (containing the external routines that are specific to your environment)

Other compiler options

AR/CTL does not support the FASTSRT compiler option for internal sorts. AR/CTL does not support the RTEREUS(ON) option in COBOL for MVS and VM.

Linking of IMS dash compatible programs

In an IMS compatible program, the program uses IMS calls and structures but IMS is not active. If a program works with IMS and you want to execute the program in IMS compatible mode, it does not need to be recompiled or relinked. If you no longer have access to the IMS libraries and you change an existing IMS compatible program or create a new program, you must change the link-edit SYSLIN step. Include the AR/CTL ARCLI000 module from the AR/CTL load library instead of the IMS DFSLI000 module from the IMS RESLIB library:

INCLUDE ARCLIB(ARCLI000)
ENTRY DLITCBL
...
//ARCLIB DD DSN=BMCARC.LOAD



 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC AMI Application Restart Control for Db2, IMS and VSAM 4.2