CICS Interview Questions
Here are must-read CICS interview questions helpful for your interview.
1.What is the difference between call and link?
In case of CALL, when you make changes to the called program, you need to compile the calling program too. But, in the case of a Link, no need.
2. what are the differences between DFHCOMMAREA and TSQ?
The usage of both are to save data among tasks.
COMMAREA: is private to that transaction only. Each transaction has its own Commarea created by CICS as soon as the transaction initiates.
TSQ – if QID known, it can be accessed by other transactions. Also commarea length is s9(4) comp (ie. 65k). But TSQ can be any length. Commarea is available only during the transaction is running. TSQ – if created with Auxiliary option, it resides in aux memory and is available even if main memory crashes. Commarea role is to transfer data from one task to another, while TSQ is used widely within the task as a scratch pad.
3. What is Communication Area?
The communication area purpose is to pass data between the program and the task.
4. Which of the following statements correctly describe the syntax of the CICS command language?
If an EXEC CICS command must be continued onto a second line a hyphen (-) must be coded in column 7 of the continued line.
If an EXEC CICS command must be continued onto a second line an ‘X’ must be coded in column 72 of each line to be continued.
An EXEC CICS command CANNOT be coded within a COBOL IF statement, between the IF command and the period (.) ending it.
The END-EXEC delimiter is optional and never needs to be placed at the end of a CICS command.
The options specified within an EXEC CICS command can be in any order.
5. A CICS program ABENDS with an ASRA ABEND code. What is its meaning?
A Llink issued to a program, but name does not exist in the PPT (Program Processing Table).
A program attempted to use a map, which is not defined in the PCT (Program Control Table).
A security violation has occurred. The operator is not defined with the proper authority in the SNT (Sign-on Table) to use a particular file.
A program interrupt (0C0 or 0C1 or 0C2 or …) has occurred in a CICS program. E) An I/O error has occurred when attempting to use a VSAM file from a CICS program
A program interrupt (0C0 or 0C1 or 0C2 or …) has occurred in a CICS program.
6. Which of the following commands, when issued by two different programs running in the same time, will prevent simultaneous use of resource ‘SINGLE’?
EXEC CICS PROTECT RESOURCE(‘SINGLE’) LENGTH(6) END-EXEC.
EXEC CICS HOLD RESOURCE(‘SINGLE’)LENGTH(6) END-EXEC.
EXEC CICS TASK SINGLE(‘SINGLE’) LENGTH(6) END-EXEC.
EXEC CICS EXCLUSIVE RESOURCE(‘SINGLE’) LENGTH(6) END-EXEC.
7. The map as shown below is displayed with: EXEC CICS SEND MAP(‘MAP1’) MAPSET(‘MAP1S’) MAPONLY END-EXEC. After the screen is displayed, the operator enters 1 character, the letter ‘X’. Where will the cursor now appear on the screen?
MAP1S DFHMSD TYPE=MAP,MODE=INOUT,CTRL=(FREEKB,FRSET),LANG=COBOL, X TIOAPFX=YESMAP1
FIELD2 DFHMDF POS=(5,3),ATTRB=UNPROT,LENGTH=1
FIELD3 DFHMDF POS=(5,5),ATTRB=(UNPROT,IC),LENGTH=1
FIELD4 DFHMDF POS=(5,7),ATTRB=ASKIP,LENGTH=1
FIELD5 DFHMDF POS=(5,9),ATTRB=UNPROT,LENGTH=1,INITIAL=’Z’
In the field with a POS=(5,1)
8. How can you accomplish a breakpoint in interest?
U-for unconditional breakpoint, C-for conditional breakpoint, and A for automatic breakpoint
9. How many ways one can initiating a transaction? what are they?
There are six ways in initiating a transaction. they are as follows. embedding four character Trans0d on the top left corner of the screen.
Making use of EXEC CICS START TRANSID ( )
Making use of EXEC CICS RETURN TRANSID ( )
By defining the Trans-id in DCT ( destination control table) to enable ATI (AUTOMATIC TASK INITIATION)
Making use of PLT ( program list table)
By associating four characters with the Transid in PCT (program control table)
10. Which type of TDQ is read destructive?
Intra partition TDQ is read destructive. extra partition TDQ is not read destructive.
11. The error code AEIY?
This is the error code for length, if the length of the source data is more than the receiving field, this error will occur. this is the correct answer, previously I mentioned it as a program id error. sorry for the wrong information.
12. WHAT IS THE SIZE OF COMMAREA?
THE DEFAULT COMMAREA SIZE IS 65K.
13. What is ASRA ABEND in CICS?
It occurs when program interruption takes place. e.g.: when an alphanumeric string moved to a numeric data item OR when arithmetic calculations were performed on a numeric data item OR when an attempt was made to read an occurrence of a table beyond the defined occurrences. ISN’T IT?
14. Very important question: What is a two Phase commit in CICS?
This occurs when a programmer Issues an Exec CICS Syncpoint command. this is called two-phase because CICS will first commit changes to the resources under its control like VSAM files. and the DB2 changes are committed. Usually, CICS signals Db2 to complete the next phase and release all the locks.
Answer to ANON’s question, the difference between TSQ & TDQ
TDQ is read destructive, TSQ is not. TSQ can be created dynamically, but TDQ cannot be created dynamically. TSQ is temporary in nature (i:e it will be deleted when the program finishes execution unless it is made permanent by making an entry in the Temporary Storage Table), TDQ is not. Hope this will suffice
15. What is ENQ in CICS?
If anyone wants to restrict Trans-Id to a single user, enter trans-id with ENQ. It won’t allow anyone else to use the same trans-id.
In SYMBOLIC Cursor Positioning after moving -1 to the length field also the cursor is not positioned in that particular field. Can you give reasons?
You have to explicitly specify the word CURSOR between your EXEC CICS and END-EXEC in
16. What does EIB mean?
The EIB is the EXECUTIVE INTERFACE BLOCK. It is not the EXECUTE INTERFACE BLOCK. All TP monitors or transaction processors are known as EXECUTIVEs as they carry out processes on behalf of a program module. CICS and DB2 are executives.
17. How many exceptional conditions can be given in a HANDLE CONDITION?
Max. of 16 exceptional conditions can be given in a single HANDLE CONDITION.
In addition, what command do you issue for deleting a record in a transient data queue?
READQ TD, the read is destructive. Yes, it is correct, but there is a restriction. You can delete the records sequentially. For example, if one wants to delete the 10th record directly, it is not possible with this.
18. How do you access the records randomly in TSQ?
By specifying the ITEM option
19. What command do you issue for deleting a record in a transient data queue?
READQ TD, the read is destructive.
20. WHAT ARE THE DIFFERENT WAYS OF INITIATING TRANSACTIONS IN CICS?
- WE CAN INITIATE CICS TRANSACTION
- BY GIVING TRANSACTION ID
- BY GIVING CICS START COMMAND
- AUTOMATIC TASK INITIATION.
21. What is the difference between LINK and XCTL?
The XCTL command passes control to another program, but the resources requested by the first program still be allocated. A task does not end until a RETURN statement is executed.
While in the LINK command, program control resumes its instruction following the LINK parameter. The disadvantage of LINK is that it requires that both the calling program and the called program remain in the main memory even though both are no longer needed.
22. What is the difference between CICS Program Control Table (PCT) and CICS Processing Program Table (PPT)?
PCT contains a list of the valid transaction ID. Each transaction ID is paired with the name of the program, and CICS will load and execute when the transaction is invoked. On the other hand, PPT indicates each program’s location which pertains to a storage address if the program has already been loaded or a disk location if the program hasn’t been loaded. PPT will also be used to determine whether it will load a new copy of the program when the transaction is invoked.
23. What are the 3 common ways to create maps?
The first way is to code a physical map and then code a matching symbolic map in your COBOL program. The second way to create a physical map along with a matching symbolic map is to code only the physical map using the &SYSPARM option, CICS will automatically create a member in a COPY library. And the third way is to use a map generator such as SDF (Screen Definition Facility)
24. What is Quasi-reentrancy?
There are times when many users are concurrently using the same program, this is what we call Multi-Threading. For example, if 50 users are using program A, CICS will provide 50 Working storage for that program but one Procedure Division. And this technique is known as quasi-reentrancy
25. What is the difference between a physical BMS Mapset and a logical BMS Mapset?
The physical Mapset is a load module used to map the data to the screen at execution time. The symbolic map is the actual copybook member used in the program to reference the input and output fields on the screen.
26. How To Set MDT (Modified Data Tag) Through Application Program? (Dynamically) ?
You have to move the following macro DFHBMFSE to the Attribute field of that particular Variable.
27. What CICS facilities can you use to save data between the transactions?
COMMONAREA, TSQ & TDQ.
28. How would you release control of the record in a READ for UPDATE?
By issuing a REWRITE, DELETE, or UNLOCK command or by ending the task.
29. How would you release control of the record in a READ for UPDATE?
By issuing a REWRITE, DELETE, or UNLOCK command or by ending the task.
30. What is the difference between a RETURN with TRANSID and XCTL? For example prog. A is issuing RETURN with TRANSID to prog B. Prog A. is issuing XCTL to prog B?
In RETURN with TRANSID, the control goes to the CICS region and the user has to transfer the control to prog. B by pressing any of the AID KEYS. In XCTL the control is directly transferred to prog.
31. What is the maximum number of exceptions that can specify with a single HANDLE CONDITION command in CICS?
32. WHAT WILL BE THE LENGTH OF THE EIBCALEN IF THE TRANSACTION IS USED TO CICS FIRST TIME?
THE LENGTH WILL BE 0(ZERO).
33. WHAT IS DFHEIBLK?
It is also called Executive Interface Block. Also, it is placed in the linkage section automatically by the CICS translator program. It should be first entry in the linkage section. And CICS places values prior to giving control to the program, and we can find almost any information about our transaction.
34. What is the difference between the XCTL and LINK commands?
The LINK command anticipates the return of control to the calling program. But the XCTL command does not. Return to the calling program will be result of the CICS RETURN command, specifying TRANSID(name of the calling program).
35. What CICS command would you use to read a VSAM KSDS sequentially in ascending order?
First, issue a STARTBR (start browse), which will position the browse at the desired record. Retrieve records by using subsequent READNEXT commands. Indicate the end of sequential processing with the ENDBR command.
If the generic key is specified in the STARTBR command, positioning in the file will be before the first record satisfying the generic key. For reading in descending order, use the READPREV instead of READNEXT.
36. What is the difference between pseudo-conversational and conversational?
Pseudo-conversational will start a new task for each input. By coding a CICS RETURN command specifying TRANSID(itself).
Conversational will have an active task during the duration of the data entry.
37. What is the COMMAREA(communications area)?
An area used to transfer data between different programs ( in between subsequent executions of the same program). You need to defiine in the Linkage Section.