This document covers the following topics:
For application programs accessing ADL to be able to run under IMS/TP, the batch-specific steps of the installation procedure must have been performed.
Each application program affected must be re-linked with an ADL front-end program, DAZENTRY. This front-end program then passes control to ADL for PSB initialization every time the application program is entered. After this, control is given to the application program.
Each DL/I call issued by the application program is passed on to the ADL CALLDLI Interface, which then determines whether it must be passed on to IMS, handled by ADL itself, or both. Calls using a DB PCB are handled as if the application program were running in mixed mode. All calls against converted data bases are handled by ADL; all other calls are passed on to IMS. Calls using an I/O PCB are generally passed on to IMS, except for the GU and CHKP calls using the first I/O PCB. These are treated first of all by ADL as a checkpoint call (i.e. an Adabas ET call is issued), and are then passed on to IMS.
If all DB PCBs of a PSB refer to converted databases, the DB PCBs can be deleted from the IMS PSB (but not from the ADL PSB). This avoids warning messages from IMS/TP at start-up of the message region, if the corresponding VSAM file is no longer available.
To operate the ADL Interfaces under IMS/TP you need to generate three runtime control tables:
DAZPSB | a table containing an entry for each PSB to be used in the IMS/TP system. A PSB, which does not contain DB PCBs (i.e., it contains TP-PCBs only) should not be included in the table. |
DAZDBD | a table which is used to store DBD internal control blocks. |
DAZBUF | a table used as a buffer for PSB related internal control blocks which are subject to roll in/roll out mechanisms. |
These tables are exactly the same as those needed to operate the ADL Interfaces under CICS. For brevity, the generation of these tables is described only once, in the section CICS Installation and Operation.
As is the case under CICS, the ADL CALLDLI Interface will only route those data base requests to ADL which reference a PSB contained in the DAZPSB table.
A summary report on the performance of these tables in a particular message region will be written to the file DAZOUT2 when the message region is terminated.
To invoke an IMS/TP Message Region under ADL, execute the DAZIFP initialization program. This program requires input (positional and keyword) parameters similar to those for the IMS Message Region Controller. These are explained below.
The JCL describing the original IMS data bases which have been converted is not required.
The ADL load library containing the executable ADL batch module and the Adabas load library must be included in the JCL. ADARUN control statements must also be provided, as is the case with any Adabas application program. For a detailed description of JCL requirements, see the end of this section.
Each application program running under a Message Region Controller started with ADL must be re-linked with DAZENTRY using the following link edit directives:
ENTRY DAZENTRY CHANGE pgment(DLITASM) INCLUDE APPL(pgmname) INCLUDE ADLLOAD(DAZENTRY) NAME pgmname(R)
where
pgmname | is the name of the application program and |
pgment | is the name of the entry part of the application program. |
Only main programs, i.e., programs which are initially called by a transaction, should be linked with DAZENTRY, but not subprograms, etc..
All IMS parameters ( i.e. those parameters specified in the
EXEC
statement) will be passed on unchanged to IMS. The first
positional parameter is also interpreted by DAZIFP and should be specified as
follows:
MSG
This indicates an IMS/TP Message Region run.
In addition to the positional parameter mentioned above, you may specify one or more keyword parameters in order to control operation of ADL. Such keyword parameters must be specified in a separate control statement with the following format:
keyword,
The following table provides a brief explanation of the various keywords which can be specified. For further information on all the parameters (including default settings), see the section ADL Parameter Module in the ADL Installation documentation.
Keyword | Description |
---|---|
BUFSF | A two-character suffix for the name of the buffer table module. |
DBD | The size (in kilobytes) of the ADL DBD ICB buffer. |
DBDSF | A two-character suffix for the name of the DBD table module. |
DBID | The Adabas data base ID for the ADL directory file. |
EBUF | The size (in kilobytes) of the ADL ECB buffer. |
FNR | The Adabas file number of the ADL directory file. |
IMSY | IMS/TP syncpoint/Adabas ET synchronization. |
PLI | Passes parameters on to PL/I. See the section Batch Installation and Operation in this documentation for details. |
PSB | The size (in kilobytes) of the ADL PSB ICB buffer. |
PSBSF | A two-character suffix for the name of the PSB table module used under CICS. |
STACK | The size (in kilobytes) of the ADL internal subroutine stack. |
TRACE | Activates the TRACE facility and specifies what is to be traced. |
Add an entry for DAZMPL to the IMS/TP pre-load list DFSMPLxx. The module DAZMPL is delivered in the ADL load library. It is linked as re-usable and not re-entrant. This ensures that IMS/TP will reload it after a failure.
ADL Interfaces optionally pass control to a user written routine (user exit) before each call to Adabas. This user exit may be used for monitoring purposes as well as to apply modifications to the call parameters before Adabas receives control. The conventions for this user exit and how it is activated is described in the section Adabas Call User Exit in the ADL Installation documentation.
The following table lists the data sets used by the ADL batch monitor when an IMS/TP Message Processing Region is run.
DDname | Medium | Description |
---|---|---|
DAZIN2 | Reader | Control input for the ADL batch monitor, DAZIFP, and the keyword parameters. |
DAZOUT1 | Printer | Messages and codes. |
DAZOUT2 | Printer | DAZIFP initialization and termination report. |
//REGION EXEC PGM=DAZIFP,PARM=(MSG,.......) //STEPLIB DD DSN=IMSVS.PGMLIB,DISP=SHR // DD DSN=IMSVS.RESLIB,DISP=SHR // DD DSN=ADL.LOAD,DISP=SHR // DD DSN=ADABAS.LOAD,DISP=SHR //DDCARD DD * ADARUN PROGRAM=USER,... //DAZIN2 DD * DBID=9,FNR=30 //DAZOUT1 DD SYSOUT=X //DAZOUT2 DD SYSOUT=X