SAS/ACCESS Interface to IMS-DL/I Software |
When the SAS/ACCESS
interface to IMS-DL/I accesses DL/I databases, it executes within a DL/I subsystem.
DL/I subsystems are either batch or
online:
Batch and online DL/I subsystems can
execute concurrently. For
example, a bank may run an online subsystem to which all the bank teller terminals
are connected. As customers make deposits and withdrawals during the day,
the tellers use checking and savings application functions to record these
transactions and update a database such as the ACCTDBD database. Simultaneously,
a batch DL/I subsystem may execute
a SAS program to print a report of all loans with overdue payments from a
loan database.
It is important to know how the SAS system options for
the SAS/ACCESS interface to IMS-DL/I
are set at your site. These SAS system options determine the execution mode
of the SAS/ACCESS interface, which
must be consistent with your IMS-DL/I system configuration.
|
Outline of a Batch DL/I Subsystem |
In a batch DL/I subsystem, a batch region is a processing environment
for running batch mode jobs using a local batch control program. The batch
region is initialized by a region controller, which is the primary
entry point for all DL/I executions. The region controller initializes the
batch region according to JCL (job control language) specifications made when
the user's SAS program is submitted.
When the program runs in the batch region, the SAS/ACCESS interface
to IMS-DL/I communicates with DL/I to access DL/I databases and to issue calls
against databases. DL/I also handles the DL/I log, which contains information
that is needed to recover changes to the database if the program terminates
abnormally.
The batch region in which the SAS/ACCESS interface
executes is either a DLI region or DBB region. The use of these regions depends
on the operating system. Under OS/390,
a DBB region uses the Application Control Block library (ACBLIB)
to get the DBDs and PSBs. A DLI region uses the Database Description
library (DBDLIB) and Program Specification Block library (PSBLIB) to get the
DBDs and PSBs. Batch DL/I Subsystem
shows the typical batch DL/I subsystem.
Batch DL/I Subsystem
The following steps are performed when a SAS program
is executed in the batch DL/I subsystem:
- The operating system passes control to the SAS
System. When the SAS/ACCESS interface
initializes, it attaches a subtask to execute the DL/I region controller.
Parameters that are passed to the region controller specify the type of batch
region to execute (DLI or DBB), the name of the program (IMSEXEC under OS/390),
PSB to use, and other execution options.
- The region controller establishes the DL/I region
environment and passes control to the SAS/ACCESS interface.
- The SAS/ACCESS
interface
receives pointers to the PCBs in the PSB. It uses these PCBs in DL/I calls.
- The SAS/ACCESS interface
formats a DL/I call and passes control to DL/I to access DL/I databases.
- DL/I accesses the database data sets, performs
the requested call function, and logs any information required for recovery
in the DL/I log.
- A return code and other information for the PCB
mask are placed in the PCB, and control returns to the SAS/ACCESS interface.
- Steps 4 through 6 are repeated until the
SAS procedure
or SAS DATA step is completed. The region controller subtask is detached
and SAS continues to process the other SAS PROC or DATA steps.
|
Outline of an Online DL/I Subsystem |
In an online DL/I subsystem, an online
control region is initialized and uses JCL specifications to set up
the environment in which user programs execute. Under OS/390,
types of online control regions include IMS/ESA DB/DC regions
or CICS regions.
An online control region also allocates and controls
access to DL/I database data sets for multiple-user programs, ensuring the
integrity of the databases being used by many programs. Normally, the online
control region obtains exclusive control of the database data sets so that
other DL/I subsystems do not update the database data sets concurrently. This
preserves database integrity within the overall system.
When the online control region allocates a database,
it is referred to as an online database. The ACCTDBD database
is an online database when it is allocated to an online subsystem. When the
online control region is terminated, any associated databases can be used
in a batch processing region. Databases can be freed to allow access by a
batch program concurrent with online control region execution. Alternatively,
batch and online processing can concurrently share access to databases by
using IMS/ESA data sharing support.
The
SAS/ACCESS interface
to IMS-DL/I interacts with an online control region through a DL/I online
access region. The online access region is used when a batch
program requires access to a database allocated by the online control region,
that is, to an online database. There are two types of online access regions
under OS/390:
- a BMP region is used to access an IMS/ESA DB/DC
online control region
- a BMP region is used to access a CICS region (the
DBCTL facility of IMS/ESA provides this functionality).
For example, the ACCTDBD database must be updated periodically
with another database, which contains information on transactions using automated
teller machines (ATMs). There is a batch program to read this transactions
database and update the ACCTDBD database. However, because the ACCTDBD and
transaction database data sets are allocated exclusively to the online subsystem
for the tellers, a batch subsystem cannot allocate the data sets. This kind
of conflict is resolved by an online access region, in which a batch program
executes but issues the DL/I calls under the control of the online control
region. This method preserves the integrity of the online databases.
The typical online access region and online control
region interaction is depicted in Online DL/I Subsystem.
Online DL/I Subsystem
The following summarizes the region types that are used
in the various DL/I subsystems discussed in this chapter.
IBM Product |
Type of Subsystem |
Database Controlled by |
Batch Region |
Online Access Region |
IMS/ESA DB |
batch |
region controller |
DLI or DBB |
|
IMS/ESA DB/DC |
online |
control region |
|
BMP |
CICS |
online |
control region |
|
BMP |
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.