IMS DC Interview Questions(Part-1)

IMS DC Interview Questions for job interviews
IMS DC Questions for job interviews

I am giving here some of the top IMS DC interview questions asked in Altimetric, HCL, Tech Mahindra and IBM.

1) What is IMS TM region?

A) The IMS TM control region is a z/OS address space that can be initiated as a z/OS started task or as a job by submitting JCL. The terminals, Fast Path databases, message queues, and logs are all attached to this control region.

The IMS TM control region uses z/OS access methods for terminal and database access.

After the IMS TM control region is started, it starts the system regions, DL/I separate address space (DLISAS), and Database Recovery Control (DBRC). Then you can start the message processing regions (MPRs) and batch message processing (BMP) regions through the use of the following:

- z/OS commands (START xxxxxxxx)

- IMS commands (/START REGION xxxxxxxx)

- Job submission

- Automated operator commands

2)  What is DCCTL in IMSDC?

A. The Data Communications Control (DCCTL, pronounced “DC control”) environment enables you to use IMS TM independently of IMS DB. DCCTL provides system performance in terms of throughput, system availability, and integrity. DCCTL can coexist with IMS TM application programs and installed terminals.

3) What are the 3 different terminals in IMSDC?

A) Static terminal, Dynamic terminal, Extended terminal option

4) What is static terminal?

A. A static terminal is defined in the IMS system definition (SYSGEN), and the definition determines the physical terminal name (called the node name) and logical terminal name (LTERM) available for use.

5) What is Dynamic terminal?

A) A dynamic terminal is not statically defined in the IMS system definition. IMS can create a dynamic terminal definition. This type requires either the IMS ETO, which is a separately priced feature of IMS TM, or other third-party vendor products. Definitions for dynamic terminals are generated when the user logs on.

If a terminal user attempts to connect to IMS using a terminal that is defined to IMS as static, the user will use the defined node name and LTERM name combination.

If a terminal user attempts to connect to IMS using a terminal that is not defined to IMS as static, and dynamic terminal support is available, a dynamic terminal product (such as ETO) is used to determine the LTERM name and whether the name is based on the user ID, the node name, or some other value.

6) What is Exrended terminal options?

A) IMS Extended Terminal Option (ETO) provides dynamic terminal and local and remote logical terminal support for IMS TM.

You can add terminal hardware and LTERMs to the IMS system without first defining them. ETO gives you the option of eliminating macro statements in the IMS system definition of VTAM terminals and LTERMs. ETO enhances the availability of your IMS by eliminating the need for you to bring the system down to add terminals and LTERMs.

ETO also enhances security for the IMS TM user by associating all output with a specific user, instead of with a device. ETO requires the user to sign on.

ETO reduces the IMS system definition time for those systems where the terminal network is defined dynamically.

7). What are the phases involved in IMSDC program?



Initialization is the clearing of application program working storage.

Retrieve a transaction input message segment

A Data Language/Interface (DL/I) message call (GU) to IMS TM is used to retrieve an input message segment from the IMS Queue Manager.

Status code check

The application checks the status code from IMS TM that indicates whether the input message was successfully retrieved or if no more input messages are available to process.

Input message syntax check

IMS TM performs a basic syntax check of the input message before delivery to the application program. The application program performs any additional data validation checks.

Database processing

Database processing is performed, preferably in one phase, which means that the retrieval of a database segment is immediately followed by its update. An example of database processing in more than one phase is to initially retrieve all the segments that the program requires and then perform a second retrieve and then update.

Output processing

The application builds an output response message and uses the DL/I message ISRT call to return the results to the originator of the transaction input request.

8) What are the different CALLs involved in IMSDC program?


GU (Get Unique)Retrieve the first, or only, segment of the input message.

GN (Get Next)Retrieve second and subsequent message segments.

ISRT (Insert)insert an output message segment into the output message queue. These output messages are not sent until the transaction unit-of-work synchronization point has occurred.

CHNG (Change Destination) – Set the output destination for subsequent Insert calls.

9) How PSB should be in IMSDC program?

A. In addition to database program control blocks (PCBs), the program specification block (PSB) contains one or more message PCBs. The message I/O PCB identifies the originating logical device. The I/O PCB must be referenced in the Get Unique (GU) and Insert message (ISRT) calls. In addition, one or more alternate output PCBs (TP PCBs) can be defined. Their logical destination can be defined in the PCBs or set dynamically by the application program using the Change destination (CHNG) calls.

10). How do we code Segments in IMSDC program?

A) The messages that application programs receive and send consist of one or more message segments. Single-segment messages contain only one segment. A single GU and ISRT call is used for processing single segment message.

For multisegment input message processing, the application program uses a GU call to retrieve the first segment of a message, and GN calls to retrieve the remaining segments. For multisegment output messages, the application program uses multiple ISRT calls.

11). What is the role of Scratch Pad Area(SPA) in Conversational program?

A) IMS provides support for conversational message processing. The conversational programming model processes transactions comprised of several steps. A conversational application program divides the transaction processing work into a connected series of interactions and uses the IMS-managed scratch pad area (SPA) to maintain the conversational state.

The conversational application program issues the message GU call to retrieve the SPA to determine the next transactional interaction and the message GN call to retrieve an input message entered from a conversational mode device. The conversational application program updates the conversation state in the SPA with a message ISRT call.

When an application program wants to terminate the conversation, it can indicate this by inserting a blank transaction code to the SPA

12) How many message ques are there in IMSDC program?

A) I/O PCB Response messages (messages that are generated as a direct response to an input message from this device)

Command responses

Alternate TP PCB alternate output messages (messages inserted to an alternate PCB)

13) How message switching happens in IMSDC program?

A) A message switch occurs when a user wants to send a message to another user. The basic format of a message switch is the destination LTERM name, followed by a blank and the message text.

A program-to-program switch or program-to-program message switch is a program that is already executing that requests a new transaction be put on the IMS message queues for standard scheduling and execution.

This new transaction can do the following:

Continue the processing of the first transaction and respond to the originating logical device

Process as an independent transaction unit of work

14) How many ways a Program will be terminated in IMSDC programs?


Normal Termination
Normal termination involves the program returning control to IMS TM when it finishes processing.

Abnormal Termination
When an IMS-managed application program abnormally terminates, IMS prevents the rescheduling of the application program, any uncommitted database changes are dynamically backed out, and any uncommitted output messages are cancelled.

15). How checkpoint restart happens in IMS DC program?

A. To ensure database and message integrity, IMS uses logging and checkpoint/restart processing. In case of a hardware or software system failure, IMS can be restarted. This restart includes reading the IMS log to reposition the databases and messages to recover from the point of failure.

16) Will IMSDB/DC supports multi threading  like CICS?


17) How integrity is maintained in IMSDC programs?

A) The IMS program isolation function ensures database integrity. All database modifications and message creation by an application program is isolated from any other application programs running in the IMS system until an application program completes a synchronization point. This ensures that only committed data can be used by concurrent application programs. A synchronization point is established with a message Get Unique (GU) call for a new input message, a checkpoint call, or application program normal termination.

Program isolation allows two or more application programs to concurrently run with common data segment types, even when the processing intent is to update, add, or delete.

With program isolation and dynamic back out, it is possible to resolve potential database deadlock situations transparent to the application programs.

The following sequence of events is an example of a deadlock:

- Program A updates database element X.
- Program B updates database element Y.
- Program A requests Y and must wait for the synchronization point of program B.
- Program B in turn requests X and must wait for the synchronization point of program A.

Author: Srini

Experienced software developer. Skills in Development, Coding, Testing and Debugging. Good Data analytic skills (Data Warehousing and BI). Also skills in Mainframe.