cics interview question

 

1. What is CICS?

CICS stands for Customer Information 1. What is CICS?

CICS stands for Customer Information Control System. It's a middleware designed by IBM to support rapid, high-volume online transaction processing. CICS allows multiple users to access the same data concurrently, ensuring data integrity and efficient resource management.

2. Describe the basic differences between batch and online systems.

Feature

Batch System

Online System (CICS)

Execution

Processes jobs sequentially, no user input

Handles real-time user interactions

User InteractionDiscover more

middleware

Middleware

IMS DB

DB2

IBM Information Management System

IBM Db2

SDSF

IEFBR14

IDCAMS

None during execution

Continuous user input/output

Response Time

Delayed (scheduled)Discover more

DB2

IBM Db2

IMS DB

Middleware

IBM Information Management System

middleware

IDCAMS

SDSF

IEFBR14

Immediate/interactive

Environment

Typically uses JCL, COBOL, DB2

Runs under CICS for transaction processing

Volume

Handle large volumes of data processed at scheduled times without user interaction

Handle transactions in real-time with immediate user interaction

3. Differentiate between Multitasking and Multi-threading.

·        Multitasking: The operating system's ability to execute multiple tasks (programs) concurrently. Each task operates independently.

·        Multi-threading: Within a single program, multiple threads (smaller units of a task) execute concurrently, sharing the program's resources but running independently.

4. Describe the differences between a Conversational and a Pseudo-Conversational program.

Feature

Conversational Program

Pseudo-Conversational Program

Task Duration

Task remains active throughout user interaction

Task ends after sending a response and restarts on next input

Resource Usage

Holds resources like memory and TCBs

Frees resources between screens (more efficient)

Performance

Less efficient, can cause resource contention

Highly efficient, commonly used in CICS

State Management

Maintains state in memory

Must save and restore state using COMMAREA or TEMP storage

5. What is "TransID"? Why is it used and where is it defined?

TransID (Transaction ID) is a 4-character identifier in CICS that is used to initiate the execution of a specific program.

Why It Is Used:

·        Maps a user request or terminal input to the appropriate CICS program.

·        Helps start, control, and manage a task within the CICS region.

Where It Is Defined:

·        Defined in the Program Control Table (PCT).

·        Can be created or updated using CEDA.

6. What is the difference between a program and a transaction in CICS?

·        Program: A COBOL or other language module that contains the logic to perform a task.

·        Transaction (TransID): A 4-character identifier used to initiate the execution of a CICS program.

7. Explain the differences between a Transaction and a Task.

·        Transaction: A transaction is a set of operations initiated by a user that performs a specific function. Each transaction is identified by a unique transaction identifier (TRANSID).

·        Task: A task is the execution instance of a transaction. When a user invokes a transaction, CICS starts a task to process it. While multiple users can invoke the same transaction, each invocation results in a separate task.

8. What is the task initiation process in CICS?

When a transaction is initiated:

·        Direct Invocation: A user enters a transaction identifier (TRANSID) at a terminal.

·        Automatic Task Initiation (ATI): CICS starts a transaction automatically based on predefined conditions, such as a TDQ reaching its trigger level.

·        START Command: A program uses the CICS START command to initiate another transaction.

·        Distributed Program Link (DPL): A program in one CICS region invokes a transaction in another region.

9. How can a transaction be initiated in CICS?

Transactions in CICS can be initiated in several ways:

·        Direct Invocation: A user enters a transaction identifier (TRANSID) at a terminal.

·        Automatic Task Initiation (ATI): CICS starts a transaction automatically based on predefined conditions, such as a TDQ reaching its trigger level.

·        START Command: A program uses the CICS START command to initiate another transaction.

·        Distributed Program Link (DPL): A program in one CICS region invokes a transaction in another region.

10. What is a pseudo-conversational program in CICS?

A pseudo-conversational program simulates a continuous conversation with a user by ending the task after sending a message and starting a new task upon receiving the user's response. This approach conserves system resources by not holding them during user think-time.

11. Can you implement a pseudo-conversational program in CICS? Also, Describe some practical examples of how the techniques are used in real-world scenarios.

Yes, a pseudo-conversational program can be implemented in CICS and is the recommended approach for building efficient CICS applications.

How it works?

·        After sending a screen (EXEC CICS SEND), the program issues a RETURN, ending the task.

·        CICS saves the state (typically in a COMMAREA) and restores it when the user responds.

·        When the response comes back, CICS starts a new task, passing control and data to the same program.

Real-World Example Scenarios:

It is widely used in real-world systems like banking, order processing, and travel booking for efficient resource utilization and scalability.

12. What does the CICS translator do?

The CICS translator scans and converts CICS commands (like EXEC CICS) in a source program (e.g., COBOL) into standard CALL statements that can be understood by the compiler.

·        Recognizes and processes CICS commands.

·        Replaces them with CALL statements to CICS-supplied routines.

·        Prepares the program for compilation and execution under CICS.

13. What is meant by program reentrance?

Program reentrance means a program can be safely executed by multiple tasks at the same time without interfering with each other.

Key Points -

·        The program does not modify itself during execution.

·        All working storage is isolated, typically in COMMAREA or dynamically allocated memory.

·        Essential in CICS, as programs may be shared among tasks.

14. What is Quasi-reentrancy?

Quasi-reentrancy means a program can be interrupted and safely resumed, as long as it does not modify shared or static areas. It ensures a CICS program is task-safe, allowing it to be paused and resumed without corrupting data.

Key Points -

·        Required for CICS multitasking.

·        Programs must avoid using working-storage for changing data.

·        Data should be passed using COMMAREA, TDQ, or TSQ.

15. What is the importance of the Resource Control Table (RCT)?

The Resource Control Table (RCT) is used in CICS-DB2 environments to define the relationship between CICS transactions and DB2 plans. It controls authorization and resource allocation for DB2 access within CICS transactions.

Describe the CICS control blocks.

CICS uses control blocks to manage internal processing and resource handling:

Control Block

Purpose

TCT (Terminal Control Table)

Manages terminal and transaction associations.

PCT (Program Control Table)

Maps transaction IDs to program names.

PPT (Processing Program Table)

Defines programs that can be executed under CICS.

FCT (File Control Table)

Contains VSAM file definitions used in programs.

DCT (Destination Control Table)

Defines TDQs (Transient Data Queues).

16. Which CICS service transaction is used to gain accessibility to CICS control tables?

CEDA is the service transaction used to access and manage CICS control tables and resource definitions.

Into which table is the terminal id registered?

TCT (Terminal Control Table)

17. What is the type of PPT in CICS, and what are the uses of the PPT?

PPT (Processing Program Table) is a CICS system table that defines how programs are managed and invoked, including their location, load status, and attributes.

Uses:

·        Maps program names to their load modules.

·        Indicates if a program is resident or dynamically loaded.

·        Tracks program status (e.g., loaded, protected).

·        Enables CICS to locate and invoke the correct program for execution.

18. What is the purpose of DCT?

DCT (Destination Control Table) is a CICS system table that defines and manages Transient Data Queues (TDQs).

Key Functions:

·        Specifies queue names, types (intra- or extra-partition), and attributes.

·        Controls how TDQs are created, accessed, and processed.

·        Enables programs to use WRITEQ TD and READQ TD commands.

19. What is a CICS map and how is it used in screen handling?

A CICS map is a screen layout definition created using BMS (Basic Mapping Support) macros. It defines how data is displayed and received from a terminal screen.

A CICS map is used to define and manage screen layouts. It allows programs to send and receive data from terminals, enabling user interaction in online CICS applications.

20. What is a mapset?

A mapset is a collection of one or more BMS maps used to define screen layouts for terminal interaction in CICS. It is a group of maps used in CICS for screen handling, allowing data to be sent to and received from terminals.

21. What is the function of DFHMDF BMS macro?

The DFHMDF is BMS macro used to define individual fields on a CICS map such as position, length, and display attributes. It specifies field position, length, attributes, and field name. It also controls how a field is displayed, protected, or modified.

22. What is the difference between a symbolic map and a physical map in CICS?

·        Physical Map: The compiled version of the screen layout that defines how data is presented on the terminal.

·        Symbolic Map: A copybook used in application programs that provides field names and data structures corresponding to the physical map, facilitating data manipulation within the program.

23. How do you dynamically set the CURSOR position to a specific field?
What are the three ways available for a program to position the cursor on the screen?

Cursor position can be set in three different ways -

·        Static Positioning: By coding the IC in the filed definition, the initial position can be set.

·        Dynamic Cursor Positioning: By moving the ‘-1’ to the length field of the desired filed.

·        Relative positioning: Exact cursor location can be set by mentioning the numeric number in the SEND MAP command.

24. What are the attribute values of Skipper and Stopper fields?

·        Skipper Field Attribute (ASKIP): Makes the field non-display and non-modifiable. Cursor skips over the field.

·        Stopper Field Attribute (PROT): Makes the field protected (non-modifiable). Cursor can stop on the field, but input is not allowed.

25. What is the Modified Data Tag (MDT), and how are FSET and FRSET related to it?

·        MDT (Modified Data Tag): A bit associated with each screen field that indicates whether the field has been modified by the user.

·        FSET (Field Set): An attribute that forces the MDT to be set on, ensuring the field's data is sent to the application program, even if the user hasn't modified it.

·        FRSET (Field Reset): An attribute that resets the MDT, indicating that the field has not been modified.

26. How do you set the MDT option to ON status, even if data is not entered?

Use the FSET (Field Set) attribute in the BMS map definition. Set FSET in the ATTRB clause of the BMS map to turn on MDT, ensuring the field data is always sent to the program.

27. Each map is divided into numerous fields, with three common working storage fields for each. Mention them?

Three Common Working-Storage Fields for Each Map Field in CICS

·        fieldnameI: Input field (data entered by the user)

·        fieldnameO: Output field (data to be displayed)

·        fieldnameA: Attribute field (defines display and input attributes)

28. What is the common work area?

The Common Work Area (CWA) is a user-defined memory area in the CICS main storage that can be shared by multiple tasks or programs.

Key Points:

·        Defined in the System Initialization Table (SIT).

·        Accessed using EXEC CICS ADDRESS CWA(data-area).

·        Used to store global data accessible across transactions.

29. What is the definition of COMMAREA?

COMMAREA is a data-passing mechanism in CICS, used to share information between programs or transactions during task execution.

Key Points:

·        Defined in the Linkage Section of the program.

·        Data is passed using the EXEC CICS LINK, XCTL, or RETURN commands.

·        Must be explicitly populated and handled by the program.

30. How would you classify all the CICS programs?

The programs can be classified into the following types based on program storage and execution behavior in CICS:

·        Transient Programs – Loaded and deleted after execution.

·        Resident Programs – Remain in memory after execution for faster reuse.

·        Quasi-Resident Programs – Initially transient but retained in memory due to frequent usage.

·        Library Programs – Stored in a CICS library (DFHRPL) and loaded as needed.

31. What is EIB? Explain in detail. Also, list the information this contains.

EIB (Execute Interface Block) is a system-defined control block automatically created by CICS for every task. It provides task-specific information to the program.

It supplies runtime information like transaction ID, terminal ID, task number, time, date, etc. It is accessible without being passed explicitly.

32. What information can be obtained from the EIBRCODE?

EIBRCODE contains the response or error code from the last executed CICS command. It provides the reason code for a failure, helping to diagnose issues with the last CICS command.

 

33. Which command is used to release a record on which exclusive control is gained?

Use EXEC CICS UNLOCK to release a record that was locked with exclusive control in a CICS program.

34. What is the meaning and use of the EIBAID field?

EIBAID (Execute Interface Block - Attention Identifier) contains the AID (Attention Identifier) of the key pressed by the user on a terminal.

Use -

·        Determines which key (e.g., Enter, PF keys, PA keys, Clear) the user pressed.

·        Helps control program flow based on user actions.

35. Explain the difference between synchronous and asynchronous processing in CICS.

Type

Synchronous Processing

Asynchronous Processing

Execution

Task waits for the operation to complete

Task continues without waiting for operation to finish

Control Flow

Sequential; next step runs after current ends

Parallel; next task may run independently

Example

LINK, XCTL, READ

START TRANSID to initiate another task

Synchronous waits for a response before proceeding, while asynchronous allows tasks to run independently, improving parallelism and performance in CICS.

36. How can data be passed between transactions in CICS?

Data can be passed between transactions using:

·        COMMAREA (Communication Area): A predefined memory area used to pass data between programs or transactions.

·        Temporary Storage Queues (TSQ): Data written to a TSQ can be read by subsequent transactions.

·        Transient Data Queues (TDQ): Used for sequential data passing between transactions.

·        Channels and Containers: Allow for passing large amounts of data between programs or transactions.

37. What are the differences between LINK, XCTL, and CALL, and when would you use each?

·        CALL: A COBOL statement that invokes a subroutine within the same program. Control returns to the calling program after execution.

·        XCTL (Transfer Control): Transfers control from one program to another at the same logical level without expecting to return. The original program's context is discarded.

·        LINK: Invokes another program at the next logical level and expects control to return after the called program finishes. The original program's context is preserved.

38. Explain the purpose of the EXEC CICS command and provide an example of its usage.

The EXEC CICS command is used to perform CICS functions within a program, such as reading input, sending output, accessing files, managing tasks, and more. It allows COBOL or other high-level programs to interact with CICS services.

39. Whats the CICS command used to access the current date and time?

Use ASKTIME to get the current time in ABSTIME format, and FORMATTIME to convert it into readable date and time.

40. What is the effect of including the TRANSID in the EXEC CICS RETURN command?

Including TRANSID in the EXEC CICS RETURN command schedules a new transaction to be started after the current task ends.

EXEC CICS RETURN TRANSID('TRN1') END-EXEC.

This ends the current task and automatically starts transaction TRN1.

41. What is the difference between the INTO and the SET option in the EXEC CICS RECEIVE MAP command?

·        INTO Option: It copies map data into a working-storage variable and requires a defined data area.

·        SET Option: It returns a pointer to the map data, used with a pointer variable and more efficient for large maps.

42. What is the difference between getting the system time with EIBTIME and ASKTIME command?

·        EIBTIME: Contains the time when the task started. It's a static value stored in the EIB (Execute Interface Block). It is used to get the task’s start time.

·        ASKTIME: Retrieves the current system time at the moment the command is executed. It returns time in ABSTIME format.

43. What BMS options do you use in CICS?

Commonly used BMS (Basic Mapping Support) options in CICS include:

·        ASKIP – Skips the field during cursor movement.

·        PROT – Protects the field from user input.

·        UNPROT – Allows user input in the field.

·        FSET – Forces Modified Data Tag (MDT) ON to send field even if untouched.

·        IC – Places the cursor in the field.

·        NUM – Allows numeric-only input.

·        BRT/NORM/DRK – Controls field brightness or display intensity.

44. In CICS, how are ENQ and DEQ used?

·        ENQ (Enqueue): Lock a resource. Used to gain exclusive control over a resource to prevent other tasks from accessing it simultaneously.

·        DEQ (Dequeue): Unlock resource. Used to release the lock obtained by ENQ, making the resource available to others.

45. What is the function of the EXEC CICS HANDLE CONDITION command?

The EXEC CICS HANDLE CONDITION command is used to specify error-handling routines for specific CICS exceptions. It directs program control to a label or paragraph when a specific condition (e.g., NOTFND, ENDDATA, PGMIDERR) occurs.

EXEC CICS HANDLE CONDITION

      NOTFND(LABEL-NOT-FOUND)

END-EXEC.

46. What happens when the NOHANDLE option is used in a CICS command?

The NOHANDLE option tells CICS not to invoke any condition handlers (like HANDLE CONDITION or HANDLE AID) if an error occurs. When NOHANDLE is used, CICS suppresses automatic error handling, and the program must check response codes explicitly.

The program must manually check EIBRESP or EIBRCODE to handle exceptions. It prevents automatic transfer of control on errors.

47. What is the difference between TSQ and TDQ, and when would you use each?

Temporary Storage Queqe (TSQ)

Transient Data Queqe (TDQ)

Records in Temporary Storage can be read more than once

Temporary Data Queues can be read only once

Records in TSQ can be read randomly

Records in TDQ can be read only sequentially

You may update an existing item in a TSQ

A record in a TDQ cannot be updated

TSQ names are dynamically defined in the application program

TDQs name must first be defined in the DCT (Destination Control Table)

TSQ cannot be accessed in batch

TDQ may be used by batch application

TSQ cannot started automatically a CICS transaction

TDQ can started automatically a CICS transaction

48. What does Automatic Task Initiation mean in CICS?

Automatic Task Initiation (ATI) allows CICS to automatically start a specific transaction when certain conditions are met, such as when a TDQ reaches a predefined trigger level. This feature enables automated processing without manual intervention.

49. What is an ASRA abend, and how do you resolve it?

An ASRA abend indicates that a program check has occurred, often due to data exceptions like division by zero or invalid data types. To resolve it, you can:

·        Analyze the Abend: Use debugging tools to determine the cause.

·        Check Data Validity: Ensure that the data being processed is valid and within expected ranges.

·        Review Program Logic: Examine the code for logical errors that could lead to the abend.

50. Describe the CICS communication methods and their use cases.

·        TDQ (Transient Data Queue): Sequential message passing between programs or for logging. Types: Intra- and inter-partition.

·        TSQ (Temporary Storage Queue): Temporary data sharing between tasks/programs.

·        LINK / XCTL: Program-to-program communication. LINK returns control; XCTL does not.

·        SEND / RECEIVE: User interaction via terminal screens using BMS maps.

·        MRO / ISC (Inter-region communication): Communicate across CICS regions (same or different systems).

·        Web Services / Sockets: Integration with external systems using HTTP, SOAP, REST, or TCP/IP.

·        51. How Dynamic Memory Allocation is Handled in the CICS Program?

·        CICS handles dynamic memory allocation using the GETMAIN command to allocate memory and FREEMAIN to release it.

·        52. Explain the term Multi Region Operation.

·        Multi Region Operation (MRO) is a CICS feature that allows multiple CICS regions to communicate and work together on the same system or across different systems. The main purpose is to distribute workload, improve performance, and enable modular system design.

·        53. What exactly is CEMT?

·        CEMT (CICS Execute Master Terminal) is a CICS-supplied transaction used to monitor and manage CICS resources at runtime. It display, install, activate, or modify resources like programs, files, transactions, TDQs, etc.

·        54. The error code AEIV?

·        The CICS error code AEIV indicates an "Invalid Request", typically caused by an incorrect parameter or an unsupported operation in a CICS command.

 

 

1. How do you define a CICS program in the CICS region?

To define a CICS program in the region, you use the Program Processing Table (PPT) either statically (DFHCSDUP) or dynamically (CEDA).

CEDA DEFINE PROGRAM(PROGNAME)

     GROUP(GROUPNAME)

     LANGUAGE(COBOL)

·        PROGNAME: Name of the program.

·        GROUP: CICS resource group the program belongs to.

·        LANGUAGE: Programming language (e.g., COBOL, PL/I).

2. How do you handle errors in CICS programs? Provide a coding example.

Errors are handled using the EXEC CICS HANDLE CONDITION command, which redirects control to a specific label or paragraph when a specified condition occurs. For example -

EXEC CICS

        HANDLE CONDITION

        NOTFND(ERROR-ROUTINE)

END-EXEC.

 

EXEC CICS READ FILE('EMPFILE')

     INTO(WS-EMP-DATA)

     RIDFLD(EMP-ID)

     END-EXEC.

 

...

 

ERROR-ROUTINE.

    MOVE 'Record not found.' TO WS-ERROR.

    EXEC CICS RETURN END-EXEC.

3. What are CICS BMS maps and how do you define them?

CICS BMS (Basic Mapping Support) maps define screen layouts for CICS applications. They separate screen design from application logic, allowing for formatted, interactive displays (like maps for data entry or menus).

How to Define BMS Maps?

·        Using BMS Macros:

o   DFHMSD – Declares the mapset.

o   DFHMDI – Defines the map (screen).

o   DFHMDF – Defines individual fields (attributes, positions, lengths).

·        Assemble the macros to generate:

o   A load module (used at runtime)

o   A copybook (used in COBOL for referencing fields)

4. When using multiple maps, how does one determine the storage in the symbolic map?

When multiple maps are used in a mapset, each map gets its own symbolic map, and the total storage is determined by the combined size of all symbolic maps in the mapset.

5. What are the primary differences between PCT and FCT?

PCT (Program Control Table)

FCT (File Control Table)

Defines transaction-to-program relationships

Defines file and dataset access for CICS programs

Maps a Transaction ID (TRANID) to the program that processes it

Maps a logical filename (DDNAME) to a physical dataset

Used during transaction initiation (e.g., EXEC CICS START or user input)

Used for file operations (e.g., READ, WRITE, DELETE)

Contains: Transaction ID, Program name to be executed and Security & scheduling attributes.

Contains: Dataset name (DSNAME), File access mode (VSAM, TSQ, TDQ, etc.), Record length & key details (for VSAM).

6. What are some primary transaction uses in the context of CICS?

Transaction

Purpose

CEMT

Master transaction to view, process.

CEBR

Browse Temporary Storage Queue

CECI

Command-level interpreter

CEDF

Debugging tool

CESF

Sign-off

CESN

Sign-on (security)

7. What effect would it have on RECEIVE MAP if we press PF and PA keys?

The RECEIVE MAP command completes, but EIBAID will reflect the pressed key. The program must check EIBAID to decide further processing (e.g., branching logic). If PA1 is pressed, CICS may override the program flow (unless explicitly handled).

8. What is the process of terminating a transaction?

In CICS, a transaction can be terminated in the following ways:

·        Normal Termination (Explicit) –

o   Using EXEC CICS RETURN in the application program, which passes control back to CICS.

o   Optionally, COMMIT (SYNCPOINT) is issued to finalize updates before termination.

·        Abnormal Termination (Forced) –

o   PA1 Key – Pressing PA1 typically forces an immediate rollback and exits the transaction.

o   Transaction Timeout – If the transaction exceeds its defined run time limit, CICS aborts it.

o   Program ABEND – If the program crashes, CICS terminates the transaction with a dump (if enabled).

·        Implicit Termination –

o   When the last program issues RETURN without specifying a next transaction.

o   If the program ends without a CICS command (rare, usually results in an error).

9. What are the situations under which NEWCOPY is required?

·        After a Program Update – When a COBOL/PL/I/Assembler program is modified and recompiled, NEWCOPY refreshes the in-memory copy without a CICS restart.

·        First-Time Load – If a program is newly installed and needs to be loaded into CICS for execution.

·        Abend Fix – If a program abends due to a logic error and a corrected version is deployed.

10. Can you have CICS code in a copybook? If yes, what happens during compilation?

Yes, you can include CICS commands in a copybook. The copybook must be included before translation, not after. CICS code is allowed in copybooks, and during compilation, the CICS translator processes it normally as part of the main program.

11. What is a two Phase commit in CICS?

A two-phase commit in CICS ensures atomicity across multiple resources (like VSAM, DB2, MQ) by coordinating updates in two phases:

·        Prepare Phase – CICS asks all participating systems if they're ready to commit. Each system votes "YES" (can commit) or "NO" (must abort)

·        Commit/Abort Phase – If all vote "YES": CICS tells all systems to permanently commit changes. If any vote "NO": CICS forces all systems to rollback changes

12. What is the purpose of the Program List Table?

The Program List Table (PLT) in CICS defines initialization programs that run when:

·        CICS starts up

·        A CICS region shuts down

·        A transaction is initiated for the first time

13. Which CICS system program is responsible for handling automatic task initialization?

 

The CICS system program (DFHSIP) responsible for automatic task initiation during system startup or when certain events (like file triggers) occur. It manages initial task scheduling and region control.

14. I have written a CICS program. What tables should I setup to run this program?

To run a CICS program, you need to define entries in the following control tables:

·        PPT (Program Processing Table) – Defines the program name and its attributes.

·        PCT (Program Control Table) – Maps the transaction ID (TransID) to your program.

·        FCT (File Control Table) (if files are used) – Defines the files your program will access.

·        RCT (Resource Control Table) (if DB2 tables are used) – Defines the plan your program will access.

·        DCT (Destination Control Table) (if TDQs are used) – Defines any Transient Data Queues used.

15. In which table would you make an entry for a BMS map?

A BMS map is defined in the PPT, just like application programs, to make it available for execution in CICS.

16. What is the option of the DFHDCT macro which makes it possible to recover logically deleted records from an Intrapartition TDQ?

Use REUSE=YES in the DFHDCT macro to enable recovery of logically deleted records in an Intrapartition TDQ.

17. What is the primary function of the Sign-on Table?

The Sign-on Table (SNT) in CICS is a security control table that:

·        Validates user IDs and passwords during login.

·        Associates users with security profiles or permissions.

·        Supports resource-level security using RACF or external security managers.

18. Which is the program which determines whether a transaction should be restarted?

The Restart Manager (DFHREST) is the CICS system program that determines whether a transaction should be automatically restarted after a failure.

19. Mention the 5 fields available in the symbolic map for every 'NAMED' field in the DFHMDI macro?

For every NAMED field defined in a DFHMDI BMS macro, the symbolic map automatically generates these 5 standard fields:

·        fieldnameO – Output field (data to be displayed)

·        fieldnameI – Input field (data entered by the user)

·        fieldnameA – Attribute byte (display/input characteristics)

·        fieldnameL – Length of data entered

·        fieldnameF – Modified Data Tag (MDT) flag

20. Name three ways the Modified Data Tag can be set on?

The Modified Data Tag (MDT) in CICS BMS maps can be set ON in three primary ways:

·        User Input: - Automatically set when the user types into an unprotected field.

·        FSET Attribute: - Use the FSET option in the map field to force MDT ON, even if the user doesn't type.

·        IC Attribute with Cursor: - When the cursor is placed in a field using the IC attribute, and the user presses Enter, MDT is set ON.

21. What is the difference between FSET and FRSET?

In CICS BMS, FSET and FRSET are attributes used to control field behavior in symbolic maps:

FSET (Force Set):

·        Forces the Modified Data Tag (MDT) to be ON for a field, ensuring it is always transmitted to the program (even if unchanged).

·        Set via ATTRB=FSET in the DFHMDF macro or programmatically by setting the attribute byte (fieldname+F) to X'01'.

·        Guarantees the field is included in RECEIVE MAP.

FRSET (Field Reset):

·        Forces the MDT to be OFF, meaning the field is not transmitted unless modified by the user.

·        Set via ATTRB=FRSET in DFHMDF or by setting the attribute byte to X'00'.

·        Excludes the field from RECEIVE MAP unless explicitly edited.

22. What is the difference between the enter key, the PF keys and the PA keys?

Key Type

Purpose

CICS Handling

EnterDiscover more

Application software

application

SDSF

IMS DB

IBM Information Management System

IDCAMS

IEFBR14

Submits the current screen data

Sets EIBAID=DFHENTER

PF Keys (PF1–PF24)

Triggers application-specific functions

Sets EIBAID=DFHPF1 to DFHPF24

PA Keys (PA1–PA3)

Emergency/interrupt actions

Sets EIBAID=DFHPA1 to DFHPA3

23. What do the keywords MAPONLY and DATAONLY mean?

In CICS BMS, MAPONLY and DATAONLY are keywords used with the SEND MAP command to control screen output:

Keyword

Purpose

Effect

MAPONLY

Sends only the map’s static fields (labels, fixed text)

Ignores variable data fields; redisplays the screen layout without updating dynamic content.

DATAONLY

Sends only variable data fields (user-input/output fields)

Skips static text; updates only modifiable fields (e.g., for partial screen refreshes).

24. What are the two outputs created as a result of generation of a map?

When a BMS (Basic Mapping Support) map is generated, it produces two key outputs:

·        Physical Map (Load Module) – Stored in the CICS load library, used by CICS to display the screen. Stored in a CICS load library (DFHRPL).

·        Symbolic Map (Copybook) – Source code (e.g., COBOL/PL/I copybook) defining field names and attributes.

25. What is the use of DSECT parameter in BMS?

The DSECT parameter in BMS is used to generate the symbolic map only (copybook), without creating the load module. It is used when you only need the field definitions for program logic, not for actual screen display.

26. Can you use OCCURS in a BMS map?

Yes, you can use the OCCURS option within a BMS map definition to define repeated fields, essentially treating them as an array, but each element of the array is a single map field.

27. Can you define multiple maps in a BMS mapset?

Yes, you can define multiple maps (screens) in a single BMS mapset. Each map is defined with its own DFHMDI macro within the mapset's DFHMSD declaration.

28. What does the BUFFER option in RECEIVE mean?

The BUFFER option in the RECEIVE command tells CICS to place the entire inbound message into a specified storage area (buffer), without mapping it to a screen layout. Typically used in non-BMS applications or for raw data input.

29. What is the option that is used to erase all unprotected fields during a SEND MAP operation?

The ERASE option in the SEND MAP command is used to clear all unprotected fields on the screen before displaying the map.

30. What is DFHEIBLK?

DFHEIBLK (Execute Interface Block) is a CICS-provided control structure that supplies critical runtime information to a CICS program. It contains:

·        Task/Transaction Data (e.g., transaction ID, terminal ID).

·        Response Codes (e.g., EIBRESP, EIBRCODE for error handling).

·        Command-Specific Details (e.g., length of data received)

31. If DATAONLY option is specified in the SEND MAP command what will happen?

The DATAONLY option sends only the data, not the map format, reducing overhead when the screen layout doesn't need to change.

32. What is the difference between a physical BMS mapset and a logical BMS mapset?

EIB (Execute Interface Block) is a CICS-provided control block that supplies critical runtime information to an application program. Key Uses of EIB:

·        EIBTRNID: Current Transaction ID (e.g., 'INQ1').

·        EIBTRMID: Terminal ID of the user.

·        EIBRESP: Response code after CICS commands (e.g., DFHRESP(NORMAL)).

·        EIBRCODE: Additional error details.

·        EIBCALEN: Length of COMMAREA (if passed between programs).

·        EIBFN: Internal CICS function code (for debugging).

33. What does it mean when EIBCALEN is equal to zeros?

When EIBCALEN = 0, it means no data was passed in the COMMAREA to the program.

34. The DFHCOMMAREA is used to pass information from one application to another. What are some other ways that this function can be accomplished?

Besides DFHCOMMAREA, CICS programs can pass data using:

·        Temporary Storage Queues (TSQ) – WRITEQ TS / READQ TS for persistent or temporary data.

·        Transient Data Queues (TDQ) – Intra/Extra-partition queues via WRITEQ TD / READQ TD.

·        Shared Storage (GETMAIN/FREEMAIN) – Allocate shared memory with EXEC CICS GETMAIN.

·        File/DB Access – VSAM, DB2, or other databases as intermediate storage.

·        Channel/Container (CICS TS 3.1+) – Modern alternative: EXEC CICS PUT CONTAINER / GET CONTAINER.

35. How do you access storage outside your CICS program?

You can access storage outside your CICS program using the EXEC CICS ADDRESS command.

36. Before issuing an ASKTIME command what will be the values in the EIBDATE and EIBTIME fields if the EIB?

Before issuing an ASKTIME command, EIBDATE contains the date when the task started and EIBTIME contains the time when the task started.

37. What will be the length of the eibcalen, if the transaction is used to cics first time?

When a transaction is used for the first time (initial execution) in CICS, the EIBCALEN (Communication Area Length) field in the EIB will be zero (0) because no COMMAREA has been passed to the program yet.

38. How many conditions can you include in a single HANDLE CONDITION command?

In a single HANDLE CONDITION command in CICS, you can include up to 12 condition names to handle multiple exceptions.

39. What is the difference between EXEC CICS HANDLE CONDTION and an EXEC CICS IGNORE command?

Command

Purpose

Effect

HANDLE CONDITION

Defines custom error-handling routines for specific CICS conditions (e.g., NOTFND, ERROR)

Redirects control to a labeled paragraph if the specified condition occurs

IGNORE CONDITION

Disables (ignores) a previously defined HANDLE CONDITION for a specific condition

Restores default CICS behavior (abend/return) for that condition

40. When a task suspends all the handle conditions via the PUSH command, how does the task reactivate all the handle conditions?

To reactivate handle conditions after a PUSH HANDLE command, use the POP HANDLE command. This restores the previous HANDLE CONDITION, HANDLE AID, and HANDLE ABEND settings that were saved during the PUSH.

41. Which is the AID that will not be identified in the ANYKEY option of the HANDLE AID command?

DFHCLEAR (CLEAR key) is not recognized by HANDLE AID ANYKEY and must be explicitly handled if needed.

42. A HANDLE CONDITION remains active until the end of the program or until another HANDLE CONDITION command (True or False).

True

43. What is the meaning of the SYNCPOINT command?

The SYNCPOINT command is used to commit all changes made by a task to resources like DB2, VSAM files, and queues.

44. What is a transid and explain the system transid CEMT?

A TransID (Transaction Identifier) is a 4-character code used to start a CICS transaction, which triggers the execution of a specific program.

CEMT is a CICS-supplied system transaction used to inspect, modify, and manage CICS resources dynamically.

45. Why is it important not to execute a STOP RUN in CICS?

Executing STOP RUN in a CICS program is avoided because it terminates the Entire Task – Unlike a structured EXEC CICS RETURN, STOP RUN forcibly ends the CICS task, bypassing CICS cleanup routines.

46. Why doesn’t CICS use the COBOL Open and Close statements?

COBOL OPEN and CLOSE are meant for batch processing, not for CICS's online, multitasking environment. CICS doesn’t use COBOL OPEN/CLOSE because it handles file access internally to support efficient, online transaction processing.

47. How is dynamic memory allocated within a CICS application program?

CICS allocates dynamic memory using GETMAIN and releases it with FREEMAIN, allowing flexible storage management during task execution.

48. What is the command which will delete a program Loaded into the main storage using LOAD command?

To remove a program loaded with LOAD, use the RELEASE command — it frees the memory allocated to that program.

49. What will happen when the resource security check has failed on the program which has been specified in the PROGRAM option of the LOAD command?

On a security failure during LOAD, CICS raises a PGMIDERR, and the program is not loaded into memory.

50. What is the command that is used to delay the processing of a task for a specified time interval or until a specified time?

DELAY is used to pause task execution for a given duration or until a set time in CICS.

1. How will you run a online program. ?

               By using Transaction ID, online program can run.

2. How  will  you  create  maps  in  cics ?

Two ways.

A.     BMS MACROS.

B.      SDF TOOL (SCREEN DEFINITION FACILITY)

DFHMSD – Mapset

DFHMDI – Map

DFHMDF - Field

3. What are the types of maps?

               Two types of MAP.

1.      Physical Map: controls the screen alignment, sending and reccieving of constants and data to and from a terminal. They are coded using BMS macros, assembled and link edited into CICS LOAD LIBRARY. They ensure the device independence in application programs.

2.      Symbolic Map: defines the map fields used to store the variable data referenced in COBOL program. They are also coded BMS macros. But after assembling, they are placed in a copy library and then copied into CICS programs using COPY statements. They ensure device and format independence to the application program.

4. What is MDT.

Modified data tag

MDT is one bit field of the attribute byte. The program can receive only the fields with MDT ‘1’ on  RECEIVE. Effective use of MDT  can reduce the data traffic drastically in the communication line.

MDT can be SET/RESET in the following ways:

1.      When the user modifies the field, the MDT of the field is automatically set to ON.

2.      CTRL=FRSET of DFHMSD or DFHMDI will RESET the MDT to ‘OFF’ for all the fields In the mapset or map. FSET keyword of the attribute operand definition of DFHMDF will set the MDT to ‘ON’. It overrides the FRSET definition for the specific field.

3.      Before sending the screen, by overriding the MDT bit of attribute byte of the field the MDT can be set to ‘on’.

5. What are the parameters in DFHMSD

DFHMSD (defined field hierarchy map set definition)

Mapsetname DFHMSD TYPE=&SYSPARM/MAP/SECT,

                                 MODE=INPUT/IN/OUT,

                                 T10APEX=YES,

                                 LANG=COBOL/ASM/PL,

                                 STORAGE=AUTO,

                                 CTRL= (FREEKB,FRSET)

1.      TYPE: If specifies the type of the map to be generated.

&SYSPROM: It will generates both physical and symbolic map

MAP: It generates only the physical map

DSET: It will generate only symbolic map

·        Physical map is the load module of the BMS MACROS

·        Symbolic map is the copy book generated for the fields with field name.

2.      MODE: It specifies the type of use of map.

INPUT: It enables the map to be used for both Input and output pupose.

IN: for input maps lik entry screens

OUT: for output maps like display screens

3.      TIOAPFX (terminal input output area prefix): when TFOAPFX=YES then system generates a 12 byte filler in which the control information pressed by the user.

The 12 byte memory is TIOA

4.      LANG: It specifies the programing language with which we can use the map.

5.      STORAGE: When STORAGE=AUTO, is specified system allocates a separate memory for the map set.

6. Difference  between  XCTL&LINK

XCTL is used to pass control from one program to another but doesn’t expect the control to return back.

SYNTAX:

EXEC CICS

         XCTL PROGRAM(PROGRAM NAME)

END EXEC

LINK: It is used to pass control from one prog. to another but the control is expected to return back.

7. Difference between  conversation&psuedo  conversation

CONVERSATION: processing transaction is called conversation.

PSUEDO CONVERSATION: for sending and receiving of message, we will use pseudo conversation.

8. Syntax to use maps in cobol -cics program

               COPY MAPSETNAMEI, MAPSETNAMEO

 

 

9. What   is EIBCALEN

EXECUTE INTERFACE BLOCK COMMUNICATION AREA LENGTH

If EIBCALEN = 0

               Indicates user not entered any data

ELSE

               User entered some data

SYNTAX:

IF EIBCALEN = 0

               PERFORM SEND-PARA

               ELSE

               PERFORM PROCESS-PARA

10. What is DFHCOMMAREA

It is the communication area between the two programs or two tasks. COMM area is declared in the COBOL program as follows.

SYNTAX:              LINKAGE SECTION

01     FHCOMMAREA PIC X(100)

In every CICS program DFHCOMMAREA is declared and the maximum data length can be 32767(32k). It is used to know whether he user has entered data in the screen or not It stores the count of characters entered on the screen. If EIBCALEN is ‘0’ then it indicates user has not entered any data. ELSE User has entered data.

Note: If NO DFHCOMMAREA declared then system takes a one byte (1B) DFHCOMMAREA.

11. DFHRESP options

WHEN DFHRESP (NORMAL)            -> FILE IS FOUND

WHEN DFHRESP (NOT FOUND)      -> FILE IS NOT FOUND

WHEN DFHRESP (LENERR)              -> LENGTH ERROR

WHEN DFHRESP (DUPREC)             -> DUPLICATE RECORD

12. How to use VSAM file in COBOL- CICS program

               Reading the records sequentially in CICS:

               EXEC CICS

                              START BR FILE(FILE-NAME)

                              RIDFLD(POL-NUM)                                                         ->record identification field

                              KEYLEN(LENTH)

               END-EXEC.

               EXEC CICS

                              READ NEXT FILE(LOG.FILE-NAME)

                              RIDFLD(FIELDNAME)

               END-EXEC.

13. TYPES OF CURSORS IN CICS

1.STATIC CURSOR POSITIONING: USING IC

2.DYNAMIC CURSOR POSITIONING:

Dynamically to place the cursor into a desired field we need to move ‘-1’ to its length.

MOVE ‘PLEASE ENTER CORRECT PASSWORD’ TO ERRMSG0

MOVE -1 TO PWDL

PERFORM 1600_SEND.

 

3.RELATIVE CURSOR POSITIONING:

Relatively the cursor is positioned at a desired field by specifying the relative byte position compared to the first byte.

EXEC CICS

        SEND MAP(’MAP1’)

MAP(‘MAPST1’)

CURSOR(842)

END_EXEC.

14. How will you create COBOL+CICS+DB2 program

15. What are  the  commands  to execute  MAP& PROGRAM

               CEDA-CICS execution, definition and administration. Command is used to define and install mapsetof  PGM.

By using CECI(CICS execution command interruption) command is used to send map to online screen.

16. What are the types of   QUEUEs

Queues are of 2 types:

1.      TSQ (temporary storage queue)

2.      TDQ (transient data queue)

17. TSQ&TDQ

1.      TSQ: Queue records are written based on item numbers. TSQ records can be accessed sequentially, dynamically or randomly.

2.      TDQ: records are written without item number. Records can be read only sequentially. A TDQ record once read is deleted automatically.

18. In which QUEUE we can implement PAGE UP&PAGE DOWN

               In TSQ

 Control System. It's a middleware designed by IBM to support rapid, high-volume online transaction processing. CICS allows multiple users to access the same data concurrently, ensuring data integrity and efficient resource management.

2. Describe the basic differences between batch and online systems.

Feature

Batch System

Online System (CICS)

Execution

Processes jobs sequentially, no user input

Handles real-time user interactions

User InteractionDiscover more

middleware

Middleware

IMS DB

DB2

IBM Information Management System

IBM Db2

SDSF

IEFBR14

IDCAMS

None during execution

Continuous user input/output

Response Time

Delayed (scheduled)Discover more

DB2

IBM Db2

IMS DB

Middleware

IBM Information Management System

middleware

IDCAMS

SDSF

IEFBR14

Immediate/interactive

Environment

Typically uses JCL, COBOL, DB2

Runs under CICS for transaction processing

Volume

Handle large volumes of data processed at scheduled times without user interaction

Handle transactions in real-time with immediate user interaction

3. Differentiate between Multitasking and Multi-threading.

·        Multitasking: The operating system's ability to execute multiple tasks (programs) concurrently. Each task operates independently.

·        Multi-threading: Within a single program, multiple threads (smaller units of a task) execute concurrently, sharing the program's resources but running independently.

4. Describe the differences between a Conversational and a Pseudo-Conversational program.

Feature

Conversational Program

Pseudo-Conversational Program

Task Duration

Task remains active throughout user interaction

Task ends after sending a response and restarts on next input

Resource Usage

Holds resources like memory and TCBs

Frees resources between screens (more efficient)

Performance

Less efficient, can cause resource contention

Highly efficient, commonly used in CICS

State Management

Maintains state in memory

Must save and restore state using COMMAREA or TEMP storage

5. What is "TransID"? Why is it used and where is it defined?

TransID (Transaction ID) is a 4-character identifier in CICS that is used to initiate the execution of a specific program.

Why It Is Used:

·        Maps a user request or terminal input to the appropriate CICS program.

·        Helps start, control, and manage a task within the CICS region.

Where It Is Defined:

·        Defined in the Program Control Table (PCT).

·        Can be created or updated using CEDA.

6. What is the difference between a program and a transaction in CICS?

·        Program: A COBOL or other language module that contains the logic to perform a task.

·        Transaction (TransID): A 4-character identifier used to initiate the execution of a CICS program.

7. Explain the differences between a Transaction and a Task.

·        Transaction: A transaction is a set of operations initiated by a user that performs a specific function. Each transaction is identified by a unique transaction identifier (TRANSID).

·        Task: A task is the execution instance of a transaction. When a user invokes a transaction, CICS starts a task to process it. While multiple users can invoke the same transaction, each invocation results in a separate task.

8. What is the task initiation process in CICS?

When a transaction is initiated:

·        Direct Invocation: A user enters a transaction identifier (TRANSID) at a terminal.

·        Automatic Task Initiation (ATI): CICS starts a transaction automatically based on predefined conditions, such as a TDQ reaching its trigger level.

·        START Command: A program uses the CICS START command to initiate another transaction.

·        Distributed Program Link (DPL): A program in one CICS region invokes a transaction in another region.

9. How can a transaction be initiated in CICS?

Transactions in CICS can be initiated in several ways:

·        Direct Invocation: A user enters a transaction identifier (TRANSID) at a terminal.

·        Automatic Task Initiation (ATI): CICS starts a transaction automatically based on predefined conditions, such as a TDQ reaching its trigger level.

·        START Command: A program uses the CICS START command to initiate another transaction.

·        Distributed Program Link (DPL): A program in one CICS region invokes a transaction in another region.

10. What is a pseudo-conversational program in CICS?

A pseudo-conversational program simulates a continuous conversation with a user by ending the task after sending a message and starting a new task upon receiving the user's response. This approach conserves system resources by not holding them during user think-time.

11. Can you implement a pseudo-conversational program in CICS? Also, Describe some practical examples of how the techniques are used in real-world scenarios.

Yes, a pseudo-conversational program can be implemented in CICS and is the recommended approach for building efficient CICS applications.

How it works?

·        After sending a screen (EXEC CICS SEND), the program issues a RETURN, ending the task.

·        CICS saves the state (typically in a COMMAREA) and restores it when the user responds.

·        When the response comes back, CICS starts a new task, passing control and data to the same program.

Real-World Example Scenarios:

It is widely used in real-world systems like banking, order processing, and travel booking for efficient resource utilization and scalability.

12. What does the CICS translator do?

The CICS translator scans and converts CICS commands (like EXEC CICS) in a source program (e.g., COBOL) into standard CALL statements that can be understood by the compiler.

·        Recognizes and processes CICS commands.

·        Replaces them with CALL statements to CICS-supplied routines.

·        Prepares the program for compilation and execution under CICS.

13. What is meant by program reentrance?

Program reentrance means a program can be safely executed by multiple tasks at the same time without interfering with each other.

Key Points -

·        The program does not modify itself during execution.

·        All working storage is isolated, typically in COMMAREA or dynamically allocated memory.

·        Essential in CICS, as programs may be shared among tasks.

14. What is Quasi-reentrancy?

Quasi-reentrancy means a program can be interrupted and safely resumed, as long as it does not modify shared or static areas. It ensures a CICS program is task-safe, allowing it to be paused and resumed without corrupting data.

Key Points -

·        Required for CICS multitasking.

·        Programs must avoid using working-storage for changing data.

·        Data should be passed using COMMAREA, TDQ, or TSQ.

15. What is the importance of the Resource Control Table (RCT)?

The Resource Control Table (RCT) is used in CICS-DB2 environments to define the relationship between CICS transactions and DB2 plans. It controls authorization and resource allocation for DB2 access within CICS transactions.

Describe the CICS control blocks.

CICS uses control blocks to manage internal processing and resource handling:

Control Block

Purpose

TCT (Terminal Control Table)

Manages terminal and transaction associations.

PCT (Program Control Table)

Maps transaction IDs to program names.

PPT (Processing Program Table)

Defines programs that can be executed under CICS.

FCT (File Control Table)

Contains VSAM file definitions used in programs.

DCT (Destination Control Table)

Defines TDQs (Transient Data Queues).

16. Which CICS service transaction is used to gain accessibility to CICS control tables?

CEDA is the service transaction used to access and manage CICS control tables and resource definitions.

Into which table is the terminal id registered?

TCT (Terminal Control Table)

17. What is the type of PPT in CICS, and what are the uses of the PPT?

PPT (Processing Program Table) is a CICS system table that defines how programs are managed and invoked, including their location, load status, and attributes.

Uses:

·        Maps program names to their load modules.

·        Indicates if a program is resident or dynamically loaded.

·        Tracks program status (e.g., loaded, protected).

·        Enables CICS to locate and invoke the correct program for execution.

18. What is the purpose of DCT?

DCT (Destination Control Table) is a CICS system table that defines and manages Transient Data Queues (TDQs).

Key Functions:

·        Specifies queue names, types (intra- or extra-partition), and attributes.

·        Controls how TDQs are created, accessed, and processed.

·        Enables programs to use WRITEQ TD and READQ TD commands.

19. What is a CICS map and how is it used in screen handling?

A CICS map is a screen layout definition created using BMS (Basic Mapping Support) macros. It defines how data is displayed and received from a terminal screen.

A CICS map is used to define and manage screen layouts. It allows programs to send and receive data from terminals, enabling user interaction in online CICS applications.

20. What is a mapset?

A mapset is a collection of one or more BMS maps used to define screen layouts for terminal interaction in CICS. It is a group of maps used in CICS for screen handling, allowing data to be sent to and received from terminals.

21. What is the function of DFHMDF BMS macro?

The DFHMDF is BMS macro used to define individual fields on a CICS map such as position, length, and display attributes. It specifies field position, length, attributes, and field name. It also controls how a field is displayed, protected, or modified.

22. What is the difference between a symbolic map and a physical map in CICS?

·        Physical Map: The compiled version of the screen layout that defines how data is presented on the terminal.

·        Symbolic Map: A copybook used in application programs that provides field names and data structures corresponding to the physical map, facilitating data manipulation within the program.

23. How do you dynamically set the CURSOR position to a specific field?
What are the three ways available for a program to position the cursor on the screen?

Cursor position can be set in three different ways -

·        Static Positioning: By coding the IC in the filed definition, the initial position can be set.

·        Dynamic Cursor Positioning: By moving the ‘-1’ to the length field of the desired filed.

·        Relative positioning: Exact cursor location can be set by mentioning the numeric number in the SEND MAP command.

24. What are the attribute values of Skipper and Stopper fields?

·        Skipper Field Attribute (ASKIP): Makes the field non-display and non-modifiable. Cursor skips over the field.

·        Stopper Field Attribute (PROT): Makes the field protected (non-modifiable). Cursor can stop on the field, but input is not allowed.

25. What is the Modified Data Tag (MDT), and how are FSET and FRSET related to it?

·        MDT (Modified Data Tag): A bit associated with each screen field that indicates whether the field has been modified by the user.

·        FSET (Field Set): An attribute that forces the MDT to be set on, ensuring the field's data is sent to the application program, even if the user hasn't modified it.

·        FRSET (Field Reset): An attribute that resets the MDT, indicating that the field has not been modified.

26. How do you set the MDT option to ON status, even if data is not entered?

Use the FSET (Field Set) attribute in the BMS map definition. Set FSET in the ATTRB clause of the BMS map to turn on MDT, ensuring the field data is always sent to the program.

27. Each map is divided into numerous fields, with three common working storage fields for each. Mention them?

Three Common Working-Storage Fields for Each Map Field in CICS

·        fieldnameI: Input field (data entered by the user)

·        fieldnameO: Output field (data to be displayed)

·        fieldnameA: Attribute field (defines display and input attributes)

28. What is the common work area?

The Common Work Area (CWA) is a user-defined memory area in the CICS main storage that can be shared by multiple tasks or programs.

Key Points:

·        Defined in the System Initialization Table (SIT).

·        Accessed using EXEC CICS ADDRESS CWA(data-area).

·        Used to store global data accessible across transactions.

29. What is the definition of COMMAREA?

COMMAREA is a data-passing mechanism in CICS, used to share information between programs or transactions during task execution.

Key Points:

·        Defined in the Linkage Section of the program.

·        Data is passed using the EXEC CICS LINK, XCTL, or RETURN commands.

·        Must be explicitly populated and handled by the program.

30. How would you classify all the CICS programs?

The programs can be classified into the following types based on program storage and execution behavior in CICS:

·        Transient Programs – Loaded and deleted after execution.

·        Resident Programs – Remain in memory after execution for faster reuse.

·        Quasi-Resident Programs – Initially transient but retained in memory due to frequent usage.

·        Library Programs – Stored in a CICS library (DFHRPL) and loaded as needed.

31. What is EIB? Explain in detail. Also, list the information this contains.

EIB (Execute Interface Block) is a system-defined control block automatically created by CICS for every task. It provides task-specific information to the program.

It supplies runtime information like transaction ID, terminal ID, task number, time, date, etc. It is accessible without being passed explicitly.

32. What information can be obtained from the EIBRCODE?

EIBRCODE contains the response or error code from the last executed CICS command. It provides the reason code for a failure, helping to diagnose issues with the last CICS command.

 

33. Which command is used to release a record on which exclusive control is gained?

Use EXEC CICS UNLOCK to release a record that was locked with exclusive control in a CICS program.

34. What is the meaning and use of the EIBAID field?

EIBAID (Execute Interface Block - Attention Identifier) contains the AID (Attention Identifier) of the key pressed by the user on a terminal.

Use -

·        Determines which key (e.g., Enter, PF keys, PA keys, Clear) the user pressed.

·        Helps control program flow based on user actions.

35. Explain the difference between synchronous and asynchronous processing in CICS.

Type

Synchronous Processing

Asynchronous Processing

Execution

Task waits for the operation to complete

Task continues without waiting for operation to finish

Control Flow

Sequential; next step runs after current ends

Parallel; next task may run independently

Example

LINK, XCTL, READ

START TRANSID to initiate another task

Synchronous waits for a response before proceeding, while asynchronous allows tasks to run independently, improving parallelism and performance in CICS.

36. How can data be passed between transactions in CICS?

Data can be passed between transactions using:

·        COMMAREA (Communication Area): A predefined memory area used to pass data between programs or transactions.

·        Temporary Storage Queues (TSQ): Data written to a TSQ can be read by subsequent transactions.

·        Transient Data Queues (TDQ): Used for sequential data passing between transactions.

·        Channels and Containers: Allow for passing large amounts of data between programs or transactions.

37. What are the differences between LINK, XCTL, and CALL, and when would you use each?

·        CALL: A COBOL statement that invokes a subroutine within the same program. Control returns to the calling program after execution.

·        XCTL (Transfer Control): Transfers control from one program to another at the same logical level without expecting to return. The original program's context is discarded.

·        LINK: Invokes another program at the next logical level and expects control to return after the called program finishes. The original program's context is preserved.

38. Explain the purpose of the EXEC CICS command and provide an example of its usage.

The EXEC CICS command is used to perform CICS functions within a program, such as reading input, sending output, accessing files, managing tasks, and more. It allows COBOL or other high-level programs to interact with CICS services.

39. Whats the CICS command used to access the current date and time?

Use ASKTIME to get the current time in ABSTIME format, and FORMATTIME to convert it into readable date and time.

40. What is the effect of including the TRANSID in the EXEC CICS RETURN command?

Including TRANSID in the EXEC CICS RETURN command schedules a new transaction to be started after the current task ends.

EXEC CICS RETURN TRANSID('TRN1') END-EXEC.

This ends the current task and automatically starts transaction TRN1.

41. What is the difference between the INTO and the SET option in the EXEC CICS RECEIVE MAP command?

·        INTO Option: It copies map data into a working-storage variable and requires a defined data area.

·        SET Option: It returns a pointer to the map data, used with a pointer variable and more efficient for large maps.

42. What is the difference between getting the system time with EIBTIME and ASKTIME command?

·        EIBTIME: Contains the time when the task started. It's a static value stored in the EIB (Execute Interface Block). It is used to get the task’s start time.

·        ASKTIME: Retrieves the current system time at the moment the command is executed. It returns time in ABSTIME format.

43. What BMS options do you use in CICS?

Commonly used BMS (Basic Mapping Support) options in CICS include:

·        ASKIP – Skips the field during cursor movement.

·        PROT – Protects the field from user input.

·        UNPROT – Allows user input in the field.

·        FSET – Forces Modified Data Tag (MDT) ON to send field even if untouched.

·        IC – Places the cursor in the field.

·        NUM – Allows numeric-only input.

·        BRT/NORM/DRK – Controls field brightness or display intensity.

44. In CICS, how are ENQ and DEQ used?

·        ENQ (Enqueue): Lock a resource. Used to gain exclusive control over a resource to prevent other tasks from accessing it simultaneously.

·        DEQ (Dequeue): Unlock resource. Used to release the lock obtained by ENQ, making the resource available to others.

45. What is the function of the EXEC CICS HANDLE CONDITION command?

The EXEC CICS HANDLE CONDITION command is used to specify error-handling routines for specific CICS exceptions. It directs program control to a label or paragraph when a specific condition (e.g., NOTFND, ENDDATA, PGMIDERR) occurs.

EXEC CICS HANDLE CONDITION

      NOTFND(LABEL-NOT-FOUND)

END-EXEC.

46. What happens when the NOHANDLE option is used in a CICS command?

The NOHANDLE option tells CICS not to invoke any condition handlers (like HANDLE CONDITION or HANDLE AID) if an error occurs. When NOHANDLE is used, CICS suppresses automatic error handling, and the program must check response codes explicitly.

The program must manually check EIBRESP or EIBRCODE to handle exceptions. It prevents automatic transfer of control on errors.

47. What is the difference between TSQ and TDQ, and when would you use each?

Temporary Storage Queqe (TSQ)

Transient Data Queqe (TDQ)

Records in Temporary Storage can be read more than once

Temporary Data Queues can be read only once

Records in TSQ can be read randomly

Records in TDQ can be read only sequentially

You may update an existing item in a TSQ

A record in a TDQ cannot be updated

TSQ names are dynamically defined in the application program

TDQs name must first be defined in the DCT (Destination Control Table)

TSQ cannot be accessed in batch

TDQ may be used by batch application

TSQ cannot started automatically a CICS transaction

TDQ can started automatically a CICS transaction

48. What does Automatic Task Initiation mean in CICS?

Automatic Task Initiation (ATI) allows CICS to automatically start a specific transaction when certain conditions are met, such as when a TDQ reaches a predefined trigger level. This feature enables automated processing without manual intervention.

49. What is an ASRA abend, and how do you resolve it?

An ASRA abend indicates that a program check has occurred, often due to data exceptions like division by zero or invalid data types. To resolve it, you can:

·        Analyze the Abend: Use debugging tools to determine the cause.

·        Check Data Validity: Ensure that the data being processed is valid and within expected ranges.

·        Review Program Logic: Examine the code for logical errors that could lead to the abend.

50. Describe the CICS communication methods and their use cases.

·        TDQ (Transient Data Queue): Sequential message passing between programs or for logging. Types: Intra- and inter-partition.

·        TSQ (Temporary Storage Queue): Temporary data sharing between tasks/programs.

·        LINK / XCTL: Program-to-program communication. LINK returns control; XCTL does not.

·        SEND / RECEIVE: User interaction via terminal screens using BMS maps.

·        MRO / ISC (Inter-region communication): Communicate across CICS regions (same or different systems).

·        Web Services / Sockets: Integration with external systems using HTTP, SOAP, REST, or TCP/IP.

·        51. How Dynamic Memory Allocation is Handled in the CICS Program?

·        CICS handles dynamic memory allocation using the GETMAIN command to allocate memory and FREEMAIN to release it.

·        52. Explain the term Multi Region Operation.

·        Multi Region Operation (MRO) is a CICS feature that allows multiple CICS regions to communicate and work together on the same system or across different systems. The main purpose is to distribute workload, improve performance, and enable modular system design.

·        53. What exactly is CEMT?

·        CEMT (CICS Execute Master Terminal) is a CICS-supplied transaction used to monitor and manage CICS resources at runtime. It display, install, activate, or modify resources like programs, files, transactions, TDQs, etc.

·        54. The error code AEIV?

·        The CICS error code AEIV indicates an "Invalid Request", typically caused by an incorrect parameter or an unsupported operation in a CICS command.

 

 

1. How do you define a CICS program in the CICS region?

To define a CICS program in the region, you use the Program Processing Table (PPT) either statically (DFHCSDUP) or dynamically (CEDA).

CEDA DEFINE PROGRAM(PROGNAME)

     GROUP(GROUPNAME)

     LANGUAGE(COBOL)

·        PROGNAME: Name of the program.

·        GROUP: CICS resource group the program belongs to.

·        LANGUAGE: Programming language (e.g., COBOL, PL/I).

2. How do you handle errors in CICS programs? Provide a coding example.

Errors are handled using the EXEC CICS HANDLE CONDITION command, which redirects control to a specific label or paragraph when a specified condition occurs. For example -

EXEC CICS

        HANDLE CONDITION

        NOTFND(ERROR-ROUTINE)

END-EXEC.

 

EXEC CICS READ FILE('EMPFILE')

     INTO(WS-EMP-DATA)

     RIDFLD(EMP-ID)

     END-EXEC.

 

...

 

ERROR-ROUTINE.

    MOVE 'Record not found.' TO WS-ERROR.

    EXEC CICS RETURN END-EXEC.

3. What are CICS BMS maps and how do you define them?

CICS BMS (Basic Mapping Support) maps define screen layouts for CICS applications. They separate screen design from application logic, allowing for formatted, interactive displays (like maps for data entry or menus).

How to Define BMS Maps?

·        Using BMS Macros:

o   DFHMSD – Declares the mapset.

o   DFHMDI – Defines the map (screen).

o   DFHMDF – Defines individual fields (attributes, positions, lengths).

·        Assemble the macros to generate:

o   A load module (used at runtime)

o   A copybook (used in COBOL for referencing fields)

4. When using multiple maps, how does one determine the storage in the symbolic map?

When multiple maps are used in a mapset, each map gets its own symbolic map, and the total storage is determined by the combined size of all symbolic maps in the mapset.

5. What are the primary differences between PCT and FCT?

PCT (Program Control Table)

FCT (File Control Table)

Defines transaction-to-program relationships

Defines file and dataset access for CICS programs

Maps a Transaction ID (TRANID) to the program that processes it

Maps a logical filename (DDNAME) to a physical dataset

Used during transaction initiation (e.g., EXEC CICS START or user input)

Used for file operations (e.g., READ, WRITE, DELETE)

Contains: Transaction ID, Program name to be executed and Security & scheduling attributes.

Contains: Dataset name (DSNAME), File access mode (VSAM, TSQ, TDQ, etc.), Record length & key details (for VSAM).

6. What are some primary transaction uses in the context of CICS?

Transaction

Purpose

CEMT

Master transaction to view, process.

CEBR

Browse Temporary Storage Queue

CECI

Command-level interpreter

CEDF

Debugging tool

CESF

Sign-off

CESN

Sign-on (security)

7. What effect would it have on RECEIVE MAP if we press PF and PA keys?

The RECEIVE MAP command completes, but EIBAID will reflect the pressed key. The program must check EIBAID to decide further processing (e.g., branching logic). If PA1 is pressed, CICS may override the program flow (unless explicitly handled).

8. What is the process of terminating a transaction?

In CICS, a transaction can be terminated in the following ways:

·        Normal Termination (Explicit) –

o   Using EXEC CICS RETURN in the application program, which passes control back to CICS.

o   Optionally, COMMIT (SYNCPOINT) is issued to finalize updates before termination.

·        Abnormal Termination (Forced) –

o   PA1 Key – Pressing PA1 typically forces an immediate rollback and exits the transaction.

o   Transaction Timeout – If the transaction exceeds its defined run time limit, CICS aborts it.

o   Program ABEND – If the program crashes, CICS terminates the transaction with a dump (if enabled).

·        Implicit Termination –

o   When the last program issues RETURN without specifying a next transaction.

o   If the program ends without a CICS command (rare, usually results in an error).

9. What are the situations under which NEWCOPY is required?

·        After a Program Update – When a COBOL/PL/I/Assembler program is modified and recompiled, NEWCOPY refreshes the in-memory copy without a CICS restart.

·        First-Time Load – If a program is newly installed and needs to be loaded into CICS for execution.

·        Abend Fix – If a program abends due to a logic error and a corrected version is deployed.

10. Can you have CICS code in a copybook? If yes, what happens during compilation?

Yes, you can include CICS commands in a copybook. The copybook must be included before translation, not after. CICS code is allowed in copybooks, and during compilation, the CICS translator processes it normally as part of the main program.

11. What is a two Phase commit in CICS?

A two-phase commit in CICS ensures atomicity across multiple resources (like VSAM, DB2, MQ) by coordinating updates in two phases:

·        Prepare Phase – CICS asks all participating systems if they're ready to commit. Each system votes "YES" (can commit) or "NO" (must abort)

·        Commit/Abort Phase – If all vote "YES": CICS tells all systems to permanently commit changes. If any vote "NO": CICS forces all systems to rollback changes

12. What is the purpose of the Program List Table?

The Program List Table (PLT) in CICS defines initialization programs that run when:

·        CICS starts up

·        A CICS region shuts down

·        A transaction is initiated for the first time

13. Which CICS system program is responsible for handling automatic task initialization?

 

The CICS system program (DFHSIP) responsible for automatic task initiation during system startup or when certain events (like file triggers) occur. It manages initial task scheduling and region control.

14. I have written a CICS program. What tables should I setup to run this program?

To run a CICS program, you need to define entries in the following control tables:

·        PPT (Program Processing Table) – Defines the program name and its attributes.

·        PCT (Program Control Table) – Maps the transaction ID (TransID) to your program.

·        FCT (File Control Table) (if files are used) – Defines the files your program will access.

·        RCT (Resource Control Table) (if DB2 tables are used) – Defines the plan your program will access.

·        DCT (Destination Control Table) (if TDQs are used) – Defines any Transient Data Queues used.

15. In which table would you make an entry for a BMS map?

A BMS map is defined in the PPT, just like application programs, to make it available for execution in CICS.

16. What is the option of the DFHDCT macro which makes it possible to recover logically deleted records from an Intrapartition TDQ?

Use REUSE=YES in the DFHDCT macro to enable recovery of logically deleted records in an Intrapartition TDQ.

17. What is the primary function of the Sign-on Table?

The Sign-on Table (SNT) in CICS is a security control table that:

·        Validates user IDs and passwords during login.

·        Associates users with security profiles or permissions.

·        Supports resource-level security using RACF or external security managers.

18. Which is the program which determines whether a transaction should be restarted?

The Restart Manager (DFHREST) is the CICS system program that determines whether a transaction should be automatically restarted after a failure.

19. Mention the 5 fields available in the symbolic map for every 'NAMED' field in the DFHMDI macro?

For every NAMED field defined in a DFHMDI BMS macro, the symbolic map automatically generates these 5 standard fields:

·        fieldnameO – Output field (data to be displayed)

·        fieldnameI – Input field (data entered by the user)

·        fieldnameA – Attribute byte (display/input characteristics)

·        fieldnameL – Length of data entered

·        fieldnameF – Modified Data Tag (MDT) flag

20. Name three ways the Modified Data Tag can be set on?

The Modified Data Tag (MDT) in CICS BMS maps can be set ON in three primary ways:

·        User Input: - Automatically set when the user types into an unprotected field.

·        FSET Attribute: - Use the FSET option in the map field to force MDT ON, even if the user doesn't type.

·        IC Attribute with Cursor: - When the cursor is placed in a field using the IC attribute, and the user presses Enter, MDT is set ON.

21. What is the difference between FSET and FRSET?

In CICS BMS, FSET and FRSET are attributes used to control field behavior in symbolic maps:

FSET (Force Set):

·        Forces the Modified Data Tag (MDT) to be ON for a field, ensuring it is always transmitted to the program (even if unchanged).

·        Set via ATTRB=FSET in the DFHMDF macro or programmatically by setting the attribute byte (fieldname+F) to X'01'.

·        Guarantees the field is included in RECEIVE MAP.

FRSET (Field Reset):

·        Forces the MDT to be OFF, meaning the field is not transmitted unless modified by the user.

·        Set via ATTRB=FRSET in DFHMDF or by setting the attribute byte to X'00'.

·        Excludes the field from RECEIVE MAP unless explicitly edited.

22. What is the difference between the enter key, the PF keys and the PA keys?

Key Type

Purpose

CICS Handling

EnterDiscover more

Application software

application

SDSF

IMS DB

IBM Information Management System

IDCAMS

IEFBR14

Submits the current screen data

Sets EIBAID=DFHENTER

PF Keys (PF1–PF24)

Triggers application-specific functions

Sets EIBAID=DFHPF1 to DFHPF24

PA Keys (PA1–PA3)

Emergency/interrupt actions

Sets EIBAID=DFHPA1 to DFHPA3

23. What do the keywords MAPONLY and DATAONLY mean?

In CICS BMS, MAPONLY and DATAONLY are keywords used with the SEND MAP command to control screen output:

Keyword

Purpose

Effect

MAPONLY

Sends only the map’s static fields (labels, fixed text)

Ignores variable data fields; redisplays the screen layout without updating dynamic content.

DATAONLY

Sends only variable data fields (user-input/output fields)

Skips static text; updates only modifiable fields (e.g., for partial screen refreshes).

24. What are the two outputs created as a result of generation of a map?

When a BMS (Basic Mapping Support) map is generated, it produces two key outputs:

·        Physical Map (Load Module) – Stored in the CICS load library, used by CICS to display the screen. Stored in a CICS load library (DFHRPL).

·        Symbolic Map (Copybook) – Source code (e.g., COBOL/PL/I copybook) defining field names and attributes.

25. What is the use of DSECT parameter in BMS?

The DSECT parameter in BMS is used to generate the symbolic map only (copybook), without creating the load module. It is used when you only need the field definitions for program logic, not for actual screen display.

26. Can you use OCCURS in a BMS map?

Yes, you can use the OCCURS option within a BMS map definition to define repeated fields, essentially treating them as an array, but each element of the array is a single map field.

27. Can you define multiple maps in a BMS mapset?

Yes, you can define multiple maps (screens) in a single BMS mapset. Each map is defined with its own DFHMDI macro within the mapset's DFHMSD declaration.

28. What does the BUFFER option in RECEIVE mean?

The BUFFER option in the RECEIVE command tells CICS to place the entire inbound message into a specified storage area (buffer), without mapping it to a screen layout. Typically used in non-BMS applications or for raw data input.

29. What is the option that is used to erase all unprotected fields during a SEND MAP operation?

The ERASE option in the SEND MAP command is used to clear all unprotected fields on the screen before displaying the map.

30. What is DFHEIBLK?

DFHEIBLK (Execute Interface Block) is a CICS-provided control structure that supplies critical runtime information to a CICS program. It contains:

·        Task/Transaction Data (e.g., transaction ID, terminal ID).

·        Response Codes (e.g., EIBRESP, EIBRCODE for error handling).

·        Command-Specific Details (e.g., length of data received)

31. If DATAONLY option is specified in the SEND MAP command what will happen?

The DATAONLY option sends only the data, not the map format, reducing overhead when the screen layout doesn't need to change.

32. What is the difference between a physical BMS mapset and a logical BMS mapset?

EIB (Execute Interface Block) is a CICS-provided control block that supplies critical runtime information to an application program. Key Uses of EIB:

·        EIBTRNID: Current Transaction ID (e.g., 'INQ1').

·        EIBTRMID: Terminal ID of the user.

·        EIBRESP: Response code after CICS commands (e.g., DFHRESP(NORMAL)).

·        EIBRCODE: Additional error details.

·        EIBCALEN: Length of COMMAREA (if passed between programs).

·        EIBFN: Internal CICS function code (for debugging).

33. What does it mean when EIBCALEN is equal to zeros?

When EIBCALEN = 0, it means no data was passed in the COMMAREA to the program.

34. The DFHCOMMAREA is used to pass information from one application to another. What are some other ways that this function can be accomplished?

Besides DFHCOMMAREA, CICS programs can pass data using:

·        Temporary Storage Queues (TSQ) – WRITEQ TS / READQ TS for persistent or temporary data.

·        Transient Data Queues (TDQ) – Intra/Extra-partition queues via WRITEQ TD / READQ TD.

·        Shared Storage (GETMAIN/FREEMAIN) – Allocate shared memory with EXEC CICS GETMAIN.

·        File/DB Access – VSAM, DB2, or other databases as intermediate storage.

·        Channel/Container (CICS TS 3.1+) – Modern alternative: EXEC CICS PUT CONTAINER / GET CONTAINER.

35. How do you access storage outside your CICS program?

You can access storage outside your CICS program using the EXEC CICS ADDRESS command.

36. Before issuing an ASKTIME command what will be the values in the EIBDATE and EIBTIME fields if the EIB?

Before issuing an ASKTIME command, EIBDATE contains the date when the task started and EIBTIME contains the time when the task started.

37. What will be the length of the eibcalen, if the transaction is used to cics first time?

When a transaction is used for the first time (initial execution) in CICS, the EIBCALEN (Communication Area Length) field in the EIB will be zero (0) because no COMMAREA has been passed to the program yet.

38. How many conditions can you include in a single HANDLE CONDITION command?

In a single HANDLE CONDITION command in CICS, you can include up to 12 condition names to handle multiple exceptions.

39. What is the difference between EXEC CICS HANDLE CONDTION and an EXEC CICS IGNORE command?

Command

Purpose

Effect

HANDLE CONDITION

Defines custom error-handling routines for specific CICS conditions (e.g., NOTFND, ERROR)

Redirects control to a labeled paragraph if the specified condition occurs

IGNORE CONDITION

Disables (ignores) a previously defined HANDLE CONDITION for a specific condition

Restores default CICS behavior (abend/return) for that condition

40. When a task suspends all the handle conditions via the PUSH command, how does the task reactivate all the handle conditions?

To reactivate handle conditions after a PUSH HANDLE command, use the POP HANDLE command. This restores the previous HANDLE CONDITION, HANDLE AID, and HANDLE ABEND settings that were saved during the PUSH.

41. Which is the AID that will not be identified in the ANYKEY option of the HANDLE AID command?

DFHCLEAR (CLEAR key) is not recognized by HANDLE AID ANYKEY and must be explicitly handled if needed.

42. A HANDLE CONDITION remains active until the end of the program or until another HANDLE CONDITION command (True or False).

True

43. What is the meaning of the SYNCPOINT command?

The SYNCPOINT command is used to commit all changes made by a task to resources like DB2, VSAM files, and queues.

44. What is a transid and explain the system transid CEMT?

A TransID (Transaction Identifier) is a 4-character code used to start a CICS transaction, which triggers the execution of a specific program.

CEMT is a CICS-supplied system transaction used to inspect, modify, and manage CICS resources dynamically.

45. Why is it important not to execute a STOP RUN in CICS?

Executing STOP RUN in a CICS program is avoided because it terminates the Entire Task – Unlike a structured EXEC CICS RETURN, STOP RUN forcibly ends the CICS task, bypassing CICS cleanup routines.

46. Why doesn’t CICS use the COBOL Open and Close statements?

COBOL OPEN and CLOSE are meant for batch processing, not for CICS's online, multitasking environment. CICS doesn’t use COBOL OPEN/CLOSE because it handles file access internally to support efficient, online transaction processing.

47. How is dynamic memory allocated within a CICS application program?

CICS allocates dynamic memory using GETMAIN and releases it with FREEMAIN, allowing flexible storage management during task execution.

48. What is the command which will delete a program Loaded into the main storage using LOAD command?

To remove a program loaded with LOAD, use the RELEASE command — it frees the memory allocated to that program.

49. What will happen when the resource security check has failed on the program which has been specified in the PROGRAM option of the LOAD command?

On a security failure during LOAD, CICS raises a PGMIDERR, and the program is not loaded into memory.

50. What is the command that is used to delay the processing of a task for a specified time interval or until a specified time?

DELAY is used to pause task execution for a given duration or until a set time in CICS.

1. How will you run a online program. ?

               By using Transaction ID, online program can run.

2. How  will  you  create  maps  in  cics ?

Two ways.

A.     BMS MACROS.

B.      SDF TOOL (SCREEN DEFINITION FACILITY)

DFHMSD – Mapset

DFHMDI – Map

DFHMDF - Field

3. What are the types of maps?

               Two types of MAP.

1.      Physical Map: controls the screen alignment, sending and reccieving of constants and data to and from a terminal. They are coded using BMS macros, assembled and link edited into CICS LOAD LIBRARY. They ensure the device independence in application programs.

2.      Symbolic Map: defines the map fields used to store the variable data referenced in COBOL program. They are also coded BMS macros. But after assembling, they are placed in a copy library and then copied into CICS programs using COPY statements. They ensure device and format independence to the application program.

4. What is MDT.

Modified data tag

MDT is one bit field of the attribute byte. The program can receive only the fields with MDT ‘1’ on  RECEIVE. Effective use of MDT  can reduce the data traffic drastically in the communication line.

MDT can be SET/RESET in the following ways:

1.      When the user modifies the field, the MDT of the field is automatically set to ON.

2.      CTRL=FRSET of DFHMSD or DFHMDI will RESET the MDT to ‘OFF’ for all the fields In the mapset or map. FSET keyword of the attribute operand definition of DFHMDF will set the MDT to ‘ON’. It overrides the FRSET definition for the specific field.

3.      Before sending the screen, by overriding the MDT bit of attribute byte of the field the MDT can be set to ‘on’.

5. What are the parameters in DFHMSD

DFHMSD (defined field hierarchy map set definition)

Mapsetname DFHMSD TYPE=&SYSPARM/MAP/SECT,

                                 MODE=INPUT/IN/OUT,

                                 T10APEX=YES,

                                 LANG=COBOL/ASM/PL,

                                 STORAGE=AUTO,

                                 CTRL= (FREEKB,FRSET)

1.      TYPE: If specifies the type of the map to be generated.

&SYSPROM: It will generates both physical and symbolic map

MAP: It generates only the physical map

DSET: It will generate only symbolic map

·        Physical map is the load module of the BMS MACROS

·        Symbolic map is the copy book generated for the fields with field name.

2.      MODE: It specifies the type of use of map.

INPUT: It enables the map to be used for both Input and output pupose.

IN: for input maps lik entry screens

OUT: for output maps like display screens

3.      TIOAPFX (terminal input output area prefix): when TFOAPFX=YES then system generates a 12 byte filler in which the control information pressed by the user.

The 12 byte memory is TIOA

4.      LANG: It specifies the programing language with which we can use the map.

5.      STORAGE: When STORAGE=AUTO, is specified system allocates a separate memory for the map set.

6. Difference  between  XCTL&LINK

XCTL is used to pass control from one program to another but doesn’t expect the control to return back.

SYNTAX:

EXEC CICS

         XCTL PROGRAM(PROGRAM NAME)

END EXEC

LINK: It is used to pass control from one prog. to another but the control is expected to return back.

7. Difference between  conversation&psuedo  conversation

CONVERSATION: processing transaction is called conversation.

PSUEDO CONVERSATION: for sending and receiving of message, we will use pseudo conversation.

8. Syntax to use maps in cobol -cics program

               COPY MAPSETNAMEI, MAPSETNAMEO

 

 

9. What   is EIBCALEN

EXECUTE INTERFACE BLOCK COMMUNICATION AREA LENGTH

If EIBCALEN = 0

               Indicates user not entered any data

ELSE

               User entered some data

SYNTAX:

IF EIBCALEN = 0

               PERFORM SEND-PARA

               ELSE

               PERFORM PROCESS-PARA

10. What is DFHCOMMAREA

It is the communication area between the two programs or two tasks. COMM area is declared in the COBOL program as follows.

SYNTAX:              LINKAGE SECTION

01     FHCOMMAREA PIC X(100)

In every CICS program DFHCOMMAREA is declared and the maximum data length can be 32767(32k). It is used to know whether he user has entered data in the screen or not It stores the count of characters entered on the screen. If EIBCALEN is ‘0’ then it indicates user has not entered any data. ELSE User has entered data.

Note: If NO DFHCOMMAREA declared then system takes a one byte (1B) DFHCOMMAREA.

11. DFHRESP options

WHEN DFHRESP (NORMAL)            -> FILE IS FOUND

WHEN DFHRESP (NOT FOUND)      -> FILE IS NOT FOUND

WHEN DFHRESP (LENERR)              -> LENGTH ERROR

WHEN DFHRESP (DUPREC)             -> DUPLICATE RECORD

12. How to use VSAM file in COBOL- CICS program

               Reading the records sequentially in CICS:

               EXEC CICS

                              START BR FILE(FILE-NAME)

                              RIDFLD(POL-NUM)                                                         ->record identification field

                              KEYLEN(LENTH)

               END-EXEC.

               EXEC CICS

                              READ NEXT FILE(LOG.FILE-NAME)

                              RIDFLD(FIELDNAME)

               END-EXEC.

13. TYPES OF CURSORS IN CICS

1.STATIC CURSOR POSITIONING: USING IC

2.DYNAMIC CURSOR POSITIONING:

Dynamically to place the cursor into a desired field we need to move ‘-1’ to its length.

MOVE ‘PLEASE ENTER CORRECT PASSWORD’ TO ERRMSG0

MOVE -1 TO PWDL

PERFORM 1600_SEND.

 

3.RELATIVE CURSOR POSITIONING:

Relatively the cursor is positioned at a desired field by specifying the relative byte position compared to the first byte.

EXEC CICS

        SEND MAP(’MAP1’)

MAP(‘MAPST1’)

CURSOR(842)

END_EXEC.

14. How will you create COBOL+CICS+DB2 program

15. What are  the  commands  to execute  MAP& PROGRAM

               CEDA-CICS execution, definition and administration. Command is used to define and install mapsetof  PGM.

By using CECI(CICS execution command interruption) command is used to send map to online screen.

16. What are the types of   QUEUEs

Queues are of 2 types:

1.      TSQ (temporary storage queue)

2.      TDQ (transient data queue)

17. TSQ&TDQ

1.      TSQ: Queue records are written based on item numbers. TSQ records can be accessed sequentially, dynamically or randomly.

2.      TDQ: records are written without item number. Records can be read only sequentially. A TDQ record once read is deleted automatically.

18. In which QUEUE we can implement PAGE UP&PAGE DOWN

               In TSQ

 

Comments

Popular posts from this blog

files and db2 abends&cics

jcl