(Customer Information Control System) A TP monitor from IBM that was originally developed to provide transaction processing for IBM mainframes. It controls the interaction between applications and users and lets programmers develop screen displays without detailed knowledge of the terminals used. It provides terminal routing, password security, transaction logging for error recovery and activity journals for performance analysis. CICS is a transaction processing system that can handle both small and large numbers of transactions, although it is designed mainly for huge numbers. The top transaction number so far recorded is in the several thousands per second. The functionality extends from traditional mainframes to online batch activity as well. CICS has also been made available on non-mainframe platforms including the RS/6000, AS/400 and OS/2-based PCs.CICS commands are written along with and into the source code of the applications, typically COBOL, although assembly language, PL/I and RPG are also used. CICS implements SNA layers 4, 5 and 6.
CICS Interviews are getting tough these days as the technology grows faster. To get through the CICS interview one needs to update him/herself in a regular manner. Having said that, just before the interview, it is very important to have a quick glance of the reputed CICS questions and answers to make yourself comfortable during the interview process. This is where DoAnswers.com helps you in renewing yourself on CICS and various other technologies interview preparation.
21. CICS and DB2 can exist in the same region under the Operating system (True or False)
TRUE
22. CICS Command level is
Low level version of CICS macro level
23. CICS provides an interface through which the all the DL/I services can be used under CICS(True or False).
TRUE
24. DB2 What is the difference between a package and a plan. How does one bind 2 versions of a CICS
transaction with the same module name in two different CICS regions that share the same DB2 subsystem? Package and plan are usually used synonymously, as in this site. Both contain optimized code for SQL statements - a package for a single program, module or subroutine contained in the database request module (DBRM) library. A plan may contain multiple packages and pointers to packages. The one CICS module would then exist in a package that could be referenced in two different plans.
25. Define the field with IC in the BMS map.
Use CURSOR(n m)??
26. Difference between TSQ & TDQ
TDQ is read destructive, TSQ is not. TSQ can be created dynamically, 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 a entry in the Temporary Storage Table), TDQ is not.
27. Do you receive the attribute byte in the symbolic map?
On EOF yes.
28. Do you require a table entry for a TSQ?
If recovery is needed.
29. Explain floating maps with illustration.
Maps which can position themselves relative to the previous maps on the screen or page are known as the floating maps. For this you have to use special positional operands to LINE and COLUMN parameters of the BMS macro definition. They are SAME, NEXT.
Actually this floating map concept is there only in Full BMS where as it is not available in Min. or Standard BMS macros. RECEIVE MAP is not recommended in the case of floating maps. Hence these maps are normally used to send information such as selected records from a database to screen but not for data entry. A mapset can contain more than one map in it, you may use all these maps to build a screen. In that case there are two ways to send these maps on to the screen
i ) Use separate SEND MAP commands one for each map involved. or
ii) Use ACCUM operand along with SEND MAP command and while sending really on to the screen use SEND PAGE to display them at one shot. The second one is called cumulative mapping scheme where you also can use floating maps. Let's take a situation where you have to build a screen like this HEADER MAP (no. of A gr. employs) DETAIL MAP (employee list ) TRAILER MAP (Press a key to continue...)
Under such situations whatever the detail map needed that is to be displayed again and again to display all the information one screenful at a time. In this floating map concept helps. Code the map like this
M1 DFHMDI ...... HEADER=YES,JUSTIFY=FIRST.................. M2 DFHMDI ...? ......................... LINE=NEXT.................... M3 DFHMDI ........TRAILER=YES,JUSTIFY=LAST...........................
Here M2 is detail map, which is coded as floating map. Procedure: Every time using cumulative map technique send header (first) and followed by detail map next into a page buffer once the page is full an overflow occurs by using CICS HANDLE OVERFLOW command send first trailer map then header map ( This will do two things a) it sends previous map on to the screen b) starts fresh page buffer ). Repeated this until no more records to be retrieved. Here M2 is the one which holds the record values read from the file.
30. Explain how to handle exceptional conditions in CICS.
An abnormal situation during execution of a CICS command is called an exceptional condition". There are various ways to handle these exception conditions:
1. Handle Condition Command: It is used to transfer control to the procedure label specified if the exceptional condition specified occurs.
2. Ignore Condition Command: It causes no action to be taken if the condition specified occurs in the program. That is control will be returned to the next instruction following the command which encountered the exceptional condition.
3. No Handle Option: This option can be specified in any CICS command and it will cause no action to be taken for any exceptional condition occurring during execution of this command.
4. RESP Option: This option can be specified in any CICS command. If the RESP option is specified in a command, CICS places a response code at a completion of the command. The application program can check this code, then proceed to the next processing. Handle condition: Invalid handling of CICS error condition within the program causing the looping. Here is one example, most program have EXEC CICS HANDLE CONDTION ERROR(label) or EXEC CICS HANDLE ABEND LABEL(label) to trap any error condition or abend.
This type of coding is usually acceptable if they handle the error / abend correctly in their handling paragraph. However, the program often cause another error or abend within the handling routine. In that case, looping or sos will occur. I strong recommend that the following statement should be included in their ERROR handling paragraph. EXEC CICS HANDLE CONDTION ERROR END-EXEC. It means that from now on, CICS will handle all the errors and will not go back to error handling routine.
For HANDLE ABEND, code EXEC CICS HANDLE ABEND CANCEL instead. Please check the application program reference manual for further explanation of these two commands. Besides, not only these two HANDLE will cause the program, other type of error handle might cause loop too. So code the HANDLE command carefully. It is a good program practice to deactivate the error handling by EXEC CICS HANDLE CONDITION condition END-EXEC. Once you know that the program won't need it anymore.