Mainframe Interview Questions

Mainframe Interview Questions

Practice the top Interview Questions and Answers on Mainframe, which are mostly asked during Mainframe Job Interviews.

Download Mainframe Interview Questions PDF

Below are the list of Best Mainframe Interview Questions and Answers

Link is used to go from one module to another and then return to the first module such that the link to a module is used to provide the first some data. Whereas XCTL is used to go from one module without a need to return to the first module.

MRO or Multiregion operation is influenced by the intercommunication facilities that you use with the connection and by your management of the connection. Whereas ISC or intersystem communication s shows the frequency of use of intercommunication sessions and mirror transactions.

In CICS the NOHANDLE option is used to suspends the error handling that was specified in previous EXEC CICS HANDLE CONDITION commands but only for the command on which you put the NOHANDLE.

Quasi-reentrancy states about the quasi-reentrant program which is in a consistent state when control is passed to it, both on entry, and before and after each EXEC CICS command. Quasi-reentrancy allows programs to access globally shared resources.

EXEC CICS READ FILE('name') INTO(data-area) RIDFLD(data-area) LENGTH(data-value) KEYLENGTH(data-value) END-EXEC. File name is used to read VSAM.

Temporary Data Queues can be read sequentially and only once and the record cannot be updated whereas in a temporary storage queue the data can be changed and also can be read any number of times.

The FORMATTIME is the CICS command that is used to access the current date and time. You can render the data in the form of month-date-year or year-day.

MDT refers to the Modified Data Tag which is an attribute character of one-bit that allows on-screen modification of the field. In case if the user modified any field then MDT turns on automatically. The data is sent to the host program by terminal only if the MDT is on. There are two types of values in MDT which are 0 and 1. If the value is 0 then it means MDT is off and no modification is going on. If the value is 1 then it means that MDT is on and the terminal operator is modifying the field. Mdt is the source that helps you in controlling the data traffic.

In CICS, the LOAD command makes a copy of an application program, table, or map available to the invoking task.

In CICS SQL processing, Cursor is being used to send the map to the terminal by using the SEND MAP command.

In CICS, Errors can be handled with the help of Error Handling Commands. It transfers the control of the program to a paragraph or a procedure label. If a program abends due to some reasons like input-output error, then it can be handled using the Handle Abend CICS command.

The various ways in which data can be passed between CICS programs are:

  • Data is passed among CICS programs through COMMAREA.
  • COMMAREA option is used along with LINK or XCTL commands.
  • Data of COMMAREA can be altered by the called program.


CEDF is the transaction identifier that allows you to intercept the application programs at the program's initiation and termination, and at each CICS command as well. It is used to start or stop an Execution Diagnostic Facility (EDF) session on a terminal or a region by isolating the problems within an application

The clustered index is a unique type of index. This rearranges the order or manner in which the data or information of the table are stored. Also, the rows due to this type of index are stored on the disk, physically as per the index. Hence, there exists one single type of clustered index for one table. And the data pages are stored in the leaf nodes of this clustered index.

Static SQL is also known as Embedded SQL is a database access procedure that is predetermined in the statement such that these SQL statements in an application do not change at runtime and can be hard-coded into the application. Whereas Dynamic SQL is SQL statements that are constructed at runtime and are less efficient such that the application may allow users to enter their own queries.

You can retrieve the data from a nullable column by using NULL to look for NULL values in columns.

DBRM stands for Database Request Module. It is a traditional DB2 serialized representation of the SQL statements in a program. Whereas a PLAN is a result of the BIND process.

HIDAM has a separate index file which is based on the root segment whereas the HDAM file does not have a separate index file, but the key field of every record is passed through a randomizer which places the record to a particular position in the database.

Mainframe Testing is the testing of software services and applications based on Mainframe Systems. It plays an active role in application development and is instrumental in overall development cost and quality as it is a part of end-to-end test coverage spanning platforms.

A self-referencing constraint is a constraint that refers to two columns related by referential integrity which belong to the same table. This constraint exists if a Db2 object is subject to a primary or foreign key relationship in which the parent table and the dependent table are the same tables.

Lock contention is a contention that occurs whenever one process or thread attempts to acquire a lock held by another process or thread. It takes place when a thread tries to acquire the lock to an object which is already acquired by another thread.

The difference between Version Control and debugging tools can be stated as Version control, also known as source control, is the practice of tracking and managing changes to software code. Whereas Debugging tool is a computer program that is used to test and debug other programs. A lot of public domain software like gdb and dbx are available for debugging.

An EXEC LINK is similar to a call; it invokes a separate CICS program and ends with a RETURN to the invoking program whereas an EXEC XCTL transfers control to another CICS program and does not get control back. And COBOL II allows for static calls which are more efficient than the LINK instruction which establishes a new run-unit.

Some of the commands that are used for CICS file browsing are as follows:

  • READ -READ command reads data from a file using primary key.
  • WRITE- Write command is used to add new records to a file.
  • REWRITE -REWRITE command is used to modify a record that is already present in a file.
  • DELETE- DELETE command is used to delete a record that is present in a file.

You can access a VSAM File using an alternate index with the help of the given steps:

  • Define the alternate index by using the DEFINE ALTERNATEINDEX command. 
  • Relate the alternate index to the base cluster (the data set to which the alternate index gives you access) by using the DEFINE PATH command. 
  • Load the VSAM indexed data set.

The primary objective of CICS is to manage the sharing of resources, the integrity of data, and prioritization of execution, with fast response. It allocates resources and passes on database requests by the application to the appropriate database manager.

DB2 stores NULL physically as an extra-byte prefix to the column value. physically, the null prefix is Hex ’00’ if the value is present and Hex ‘FF’ if it is not.

DCLGEN stands for Declaration Generator which is a structure‑generating utility that maps the columns of a database table into a structure also known as a COBOL record that can be included in an embedded SQL declaration section. DCLGEN is used to generates a table or view declaration.

The two types of transient data queues are:

Intrapartition transient data destinations - Application programs use intrapartition destinations to queue, on direct-access storage devices, data that is to be processed by other programs that are running as separate tasks within the same CICS region.

Extrapartition transient data destinations - Extrapartition destinations are queues that are residing on any file system file and are accessible by programs on any CICS region.


In the mainframe, EIB stands for Execute Interface Block, which is a control block that is loaded automatically by the CICS for every program.

First of all, SPUFI stands for SQL Processore Using File Input. This is a type of database provision, developed by the well-known IBM for the system that they provide, known as DB2. With the help of this users get to put the SQL commands directly into the TSO environment. This way they do not have to embed the commands of SQL into the program.

The COMMAREA or communication area specifies the name of a data area in which the data is passed to a program or transaction. It is an option of the LINK, XCTL, and RETURN commands.

The keyword MAPONLY specifies that only default data from the map is to be written. Whereas the DATAONLY keyword specifies that only application program data is to be written therefore it is required to specify the attribute characters for each field in the supplied data.

ASRA ABEND is a code in CICS which denotes the issues related to the program check that is done within a particular transaction. There can be lots of reasons for performing program checks. To find the correct nature of the error is created you have to find the program interrupt code in PSW. This program status word is used for recording addresses by machine hardware for recent instructions. If you want to solve this issue of ASRA ABEND in CICS then you need to find the actual location of its occurrence. For identifying the location you can use debugging tools such as cedf or xpeditor. So, after knowing the problem area you can easily find the cause of ASRA ABEND and it becomes easy to solve it.

The differences between DFHCOMMAREA and TSQ can be stated as DFHCOMMAREA is a special memory area that is provided by CICS to every task such that it passes the data from one program to another program. Whereas TSQ stands for Temporary Storage Queues which is basically a queue of records that can be created, read, and deleted by different tasks or programs in the same CICS region.

EXEC CICS UNLOCK END-EXEC command is used to release a record on which exclusive control is gained.

There are three types of tablespaces. These are as follows:

  • Permanent Tablespace - It is used to store your user and application data.
  • Undo Tablespace - It is used to roll back transactions, provide read consistency, help with database recovery, and enable features such as Oracle Flashback Query. 
  • Temporary Tablespace - It is used for storing temporary data, as would be created when SQL statements perform sort operations.

To establish dynamic cursor position on a map you can use SET CURSOR FIELD.

You make your BMS maps case-sensitive with the help of functions provided by the mainframe.

EIB stands for Execute Interface Block. It is a control block that is loaded automatically by the CICS for every program.

It contains information about transaction identifier, time, date, etc. which is used by the CICS during the execution of an application program.

In the mainframe, RDW stands for the Record descriptor word. It holds the length of the variable-length record in the first 2 bytes; the last 2 bytes are reserved.

The difference between pseudo-conversational and conversational programs can be stated as the pseudo conversational programs are reduced Computer resource usage and they can not hold Database locks. Whereas in conversational programming, the program sends a screen and waits for the user to respond.

Scope terminators are mandatory in COBOL in in-line PERFORMS and EVALUATE statements. For ease of reading, it is suggested coding practice always makes scope terminators explicit.

There are several different ways of Initiating Transaction in CICS. Some of these are as follows:

  • Entering the trans ID on the native region.
  • By Using the START command. 
  • Using PLT (Program List Table)
  • By Using Return TRANSID
  • Using TDQ ATI
  • By Assigning Trans-ID to PF/PA keys