The role of TIRLGLOD in Gen Batch, IMS, and TSO applications
search cancel

The role of TIRLGLOD in Gen Batch, IMS, and TSO applications

book

Article ID: 14364

calendar_today

Updated On:

Products

Gen

Issue/Introduction

1. What is the role of the role of TIRLGLOD in Gen Batch, IMS, and TSO applications?

2. Also Gen 8.5 PTF RO93797 and Gen 8.6 PTF SO03875 has the following problem description:
*****
The version of TIRLGLOD used to call Compatibility (CMP) modules in
Batch, IMS and TSO applications (TIRLILOD) contains a static call to
IGZCXCC. This can cause upward compatibility problems when moving
from one release of Language Environment (LE) to another. Problems
h
ave been reported in applications that contain a mixture of LE 2.1
and earlier LE releases.
*****
In what version of Gen did that problem start?

Resolution

1. Starting in Gen 7.6 TIRLGLOD is the module that enables a Gen application to call any Compatibility modules i.e. used to resolve the call from a DLL "unit" to a NODLL "unit".
Since the Gen 7.6 Compatibility Enhancement the TIRLGLOD module was split into into these 2 modules depending on application type:

  • CICS version named TIRLCLOD
  • IMS/TSO/Batch version named TIRLILOD

However the CSECT remained TIRLGLOD, so that the generated call statement did not change,
The build skeletons that contain the link-edit cards to build the Gen applications use the following so that the call to TIRLGLOD is resolved:

  • INCLUDE SYSLIB(TIRLCLOD) for CICS
  • INCLUDE SYSLIB(TIRLILOD) for IMS/TSO/Batch

Either TIRLILOD or TIRLCLOD is always statically linked into a Gen-generated application because it will be needed if the application calls any Gen-generated Compatibility modules.


2. In Gen 7.6, IGZCXCC was statically linked and that is what caused the incompatibility problems as newer releases of LE were used. It should have never been statically linked and the above PTFs fixed that problem.