Using the SAS/ACCESS Interface to IMS

Three Parts of the SAS/ACCESS Interface to IMS

The SAS/ACCESS interface to IMS consists of three parts:
  • the ACCESS procedure, which you use to define the SAS/ACCESS descriptor files
  • the IMS interface view engine, which enables you to use IMS descriptor files in SAS programs in much the same way you use SAS data files
  • the DATA step interface, which enables you to access information in IMS databases using SAS programming statements
The ACCESS procedure enables you to describe an IMS database to SAS in an access descriptor file. You can then create view descriptor files from the access descriptor file, which you can use in SAS programs in much the same way as you would use SAS data files. You can print, plot, and chart the data described by the view descriptor files, use it to create other SAS data sets, and so on. Defining SAS/ACCESS Descriptor Files describes how to create and edit SAS/ACCESS descriptor files. IMS Data in SAS Programs presents examples of using IMS data in SAS programs, and Browsing and Updating IMS Data shows how to use the view descriptor files to update IMS data from within a SAS program.
The interface view engine is an integral part of the SAS/ACCESS interface, but the interface's design is embedded in the software, so you are seldom aware of the engine. SAS interacts automatically with the engine when you use SAS/ACCESS view descriptors in your SAS programs, so you can use IMS data in your programs in much the same way as you use SAS data.
The DATA step interface provides special extensions of standard SAS INFILE and FILE statements to access IMS resources. How to Use the IMS DATA Step Interface describes these statement extensions in detail.
You might need to combine data from several sources, including IMS databases, SAS 6 SAS data sets, SAS 7 SAS data sets, and other databases. With the SAS/ACCESS interface, such combinations are not only possible, but easy to do. SAS can differentiate among SAS data sets, SAS/ACCESS view descriptor files, and other types of SAS files, and it can use the appropriate access method.

How the IMS Engine and DATA Step Interfaces Differ

When comparing the two interfaces, you can identify some obvious differences:
  • The IMS interface view engine requires you to create descriptor files. The engine uses information from the descriptor files to successfully attach IMS and retrieve or update the data being requested by the application. The DATA step interface requires no such files since it is a programming interface.
  • The engine access method provides access to IMS data. To access data, you simply make reference to a descriptor file and you have access to the data defined by the view. Coding DATA step programs requires in-depth knowledge of the database that is being accessed, and the ability to code host level calls to retrieve or update IMS data. You can, however, create SAS DATA step views from the DATA step programs to provide users who are unfamiliar with the DL/I language access to the data.

When to Use the IMS Engine Interface

Use the IMS engine interface for the following situations:
  • access to IMS data.
  • access to data that lies in a single database path. Performance is enhanced when segment search arguments (SSAs) can be generated from WHERE statements.
  • assignment of Read, Write, and Alter levels of protection with passwords.

When to Use the IMS DATA Step Interface

Use the IMS DATA step interface for the following situations:
  • programs that need full control over DBMS access. The DATA step interface provides total CHKP control in an update program as well as control over DBMS calls and SSAs.
  • transaction-style programs that need the capability of dynamically generating SSAs from SAS variable values in transaction files.
  • multi-path processing or accessing data from multiple databases in the same application. Joining data can be more efficient when performed in the DATA step as opposed to the engine interface.
  • access to message queues in a BMP region.
  • access to Fast Path databases.

Features Not Supported by the IMS Engine Interface

The engine does not support Fast Path, message queue access, or HSSR. The SLI region type is also no longer supported. However, you can use the DBCTL feature of IMS/ESA and CICS/ESA for those functions.

Features Not Supported by the IMS DATA Step Interface

The DATA step does not support the DLITEST procedure and HSSR. The SLI region type is also no longer supported. However, you can use the DBCTL feature of IMS/ESA and CICS/ESA for those functions.