Thursday 4 April 2019

CICS Top 100 Interview Questions Part II

CICS
CICS Top 100 Interview Questions Part II.

These CICS Interview Questions have been designed particularly to get you familiar with the nature of questions you may encounter during your interview for IT Job.

Q:  What is the function of EXEC CICS HANDLE CONDITION command?
A:  To specify the paragraph or program label to which the control is to be passed if the “handled condition” occurs.

Q:  How many conditions can you include in a single HANDLE CONDITION command?
A:  No more than 16 in a single handle condition. If you need more, then you must code another HANDLE CONDITION command.

Q:  What is EXEC CICS HANDLE ABEND?
A:  It allows the establishment of an exit so clean up processing can be done in the event of abnormal task termination.

Q:  What is the difference between EXEC CICS HANDLE CONDITION and an EXEC CICS IGNORE command?
A:  A HANDLE CONDITION command creates a “go-to” environment. An IGNORE command does not create a “go-to” environment; instead, it gives the control back to the next sequential instruction following the command causing the condition. They are opposites.

Q:  What happens when a CICS command contains the NOHANDLE option?
A:  No action is going to be taken for an exceptional condition occurring during the execution of this command. The abnormal condition that occurred will be ignored even if an EXEC CICS HANDLE condition exists. This the same effect as the EXEC CICS IGNORE except that it will not cancel the previous HANDLE CONDITION for any other command.

Q:  What happens when a CICS command contains the RESP option?
A:  No action is going to be taken for an exceptional condition occurring during the execution of this command. When an abnormal condition occurs, the CICS response code is the field in the program work area and can be checked later (usually at the next sequential instruction).

Q:  Suppose that an application program uses the HANDLE AID ENTER (main-logic) and the HANDLE CONDITION ERROR (abort-rtn) command. If the program issued a RECEIVE MAP, and a MAPFAIL condition occurred, which process will take control: mail-logic or abort-rtn?
A:  Main-logic will receive the control because Handle Aid has priority over Handle Condition.

Q:  When a task suspends all the handle condition via the push command, how does the task reactivate all the handle condition?
A:  By coding an EXEC CICS POP HANDLE command.

Q:  What is the difference between the INTO and the SET option in the EXEC CICS RECEIVE MAP command?
A:  The INTO option moves the information into the TIOA into the reserved specified area,
While the set option simply returns the address of the TIOA to the specific BLL cell or “address-of” a linkage section.

Q:  Define the function of the Basic Mapping System (BMS).
A:  BMS allows the application to be device-independent. It translates the formatted data stream, thus enabling the application to reference data by symbolic labels.

Q:  Suppose you have a field in the map by named ACCTD, and you want it bright. Explain how can you do this during the execution of the application.
A:  By moving either DHFBMBRY to the ACCTID field in the symbolic map (bright only) or DFHBMASB to the ACCTID field in the symbolic map (askip bright).

Q:  What are three ways available for a program to position the cursor on the screen?
A:  1. Static positioning: Code the insert cursor (IC) in the DHFMDF BMS macro.
    2. Relative positioning: Code a CURSOR option with a value relative to zero (Position 1,1 is zero).
    3. Symbolic positioning: Move high value or –1 to the field length in the symbolic map (and code CURSOR to the SEND command).

Q:  Reducing data traffic is a very important factor in an online environment. Explain the difference between MAPONLY and DATAONLY options in the EXEC CICS SEND MAP.
A:  A vast majority of the map are defined as input/output, therefore, to reduce data transmission the first time the map is send, you should use MAPONLY because this will set up the initial temple on the screen. After that, the application needs to send only the variable data in the symbolic map (DATA ONLY).

Q:  What is Modify Data Tag (MDT) ?
A:  MDT is the 1-bit attribute character of the BMS field. When it is set on, CICS will transmit the data contained in the associated map field.

Q:  Name three ways the Modify Data Tag can be set?
A:  The Modify Data Tag can be set on:
    1. When the user enters the data into the field
    2. When the application program moves the DFHBMSPSE to the attribute character.
    3. By defining it in the BMS macro definition.

Q:  How do you specify in your program which fields are not to be sent to the map (terminal)?
A:  By filling the field with a low value.

Q:  What happens if neither MAPONLY nor DATAONLY are specified?
A:  The data from the physical map and the data from the symbolic map are merged, causing an increase in the data transmission.

Q:  What is MAPSET?
A:  A MAPSET is the collection of BMS map link-edited together.

Q:  What is the function of the DFHMDF BMS macro?
A:  The DFHMDF macro defines fields, literal and characteristics of a field.

Q:  The DFHMDF is a subset (a subdivision) of which BMS macro?
A:  The DFHMDF is a BMS macro that is part of the DHFMDI macro.

Q:  What is the function of the Terminal Control Table (TCT)?
A:  The TCT defines the characteristics of each terminal with which CICS can communicate.

Q:  When an application program issues an EXEC CICS RECEIVE MAP command and there is no data sent back to the application program, what exceptional condition will occur?
A:  A MAPFAIL condition will occur.

Q:  What does it means when EIBCALEN is equal to zeros?
A:  When the length of the communication area (EIBCALEN) is equal to zeros it means that no data was passed to the application. 

Q:  How can the fact that EBICALEN is equal to zeros be of use to an application programmer?
A:  When working in a pseudo-conversational mode, EIBCALEN can be checked if it is equal to zero. A programmer can use this condition as a way of determining first-time usage (of the program).

Q:  Which CICS system program is responsible for handling automatic task initialization?
A:  The Transient Data Program (TDP).

Q:  What are some differences between a Temporary Storage Queue (TSQ) and Transient Data Queue (TDQ)?
A:  Temporary Storage Queue names are dynamically defined in the application program, while Temporary Data Queues must first be defined in the DCT (Destination Control Table). 

When a TDQ contains a certain amount of records (trigger level), a CICS transaction can be started automatically. This does not happen when using a TSQ. 

TDQ (extra partition) may be used by the batch application; TSQ cannot be accessed in batch. The Transient Data Queue is actually a QSAM file. You may update an existing item in a TSQ. 

A record in a TDQ cannot be updated. Records in TSQ can be read randomly. The TDQ can be read-only sequentially. Records in Temporary Storage can be read more than once, while records stored in Temporary Data Queues cannot. With TDQs it is “one read” only.

Q:  What will happen if a task issues an EXEC CICS DELETE Q TD against an Extrapartion Transient Data Queue?
A:  An invalid request exceptional condition will occur. The default action is that the task will be terminated.  

Q:  In an On-line environment, how can you prevent more than one user from accessing the same Transient Data Queue at the same time?
A:  By issuing an EXEC CICS ENQ against the resource. When processing is completed, a DEQ should be executed.

Q:  Is there any way of releasing a resource previously enquired by a task other than by issuing an EXEC CICS DEQ command?
A:  You can issue an SYNCPOINT command. You can also RETURN control to CICS, as CICS automatically releases a resource when a task is terminated.

Q:  When an application is invoked via the EXEC CICS START command with the FROM option, how does the application gain access to the common area?
A:  An EXEC CICS RETRIEVE command will access the common area.

Q:  What happens when an EXEC CICS SYNCPOINT is issued?  
A:  The Logical Unit of Work (LUW) is terminated. Everything on the Deferred Work Element (DWE) chain is cleaned up. If Dynamic Transaction Backout (BTB) is on, everything is committed. GETMAIN areas are freed File locks are released. I/O areas and linkages sections are released. Browses are terminated. Working storage is not affected.  

Q:  What is a Logical Unit of Work?
A:  A Logical Unit of Work is all the processing that takes place between two “sync points”?

Q:  The DFHCOMMAREA is used to pass information from one application to another. What are some other ways that this function can be accomplished?
A:  You can also pass information in the following ways?
  ·  By using a Temporary Storage Queue
·  By using an Intra partition TDQ
·  By using the Task work Area
·  By using TCTUA
·  Through a file

Q:  How do you define a Task Work Area?
A:  By defining it in on the PCT (the Program Control Table).

Q:  What is stored in the Temporary Storage Table?
A:  The TST contains the names of the Temporary Storage Queues that are to be recovered in the event of an abend.

Q:  What information do you get when an EXEC ASSIGN STARTCODE is issued? 
A:  You will be able to determine if the application was started by:
       (1) a transient data trigger level (QD), 
       (2) A START command (S, SD), 
       (3) User (U) or terminal input (TD), or 
       (4) Distributed Program Link (D, DS).

Q:  Which CICS command must be issued by the application in order to gain access to the Common Work Area (CWA)?
A:  EXEC CICS ADDRESS with CWA option.

Q:  In which CICS table would you specify the length of the TASK WORK AREA (TWA)?
A:  In the Program Control Table (PCT).

Q:  Explain the function performed by the Program Control Table (PCT)? 
A:  The PCT defines the relationship between a transaction and an application program.

Q:  When a data table is loaded into memory using the EXEC LOAD command, how does the application program free that memory when the table is no longer needed? 
A:  By coding an EXEC CICS RELEASE command with the program option.

Q:  What is the function of the HOLD option in the EXEC CICS LOAD command? 
A:  When a program is loaded from the CICS DFHRPL concatenation library (into main storage), the HOLD option will result in the program remaining in memory after the task terminates. When this option is not specified, main storage is automatically released by CICS.

Q:  Explain the function of the File Control Program (FCP)?
A:  The FCP provides the application program with the ability to read, browse, add, delete, and, update records in a file defined in the FCT.

Q:  What is the function of the File Control Table?
A:  It defines the file and contains the characteristics of the dataset.

Q:  If an application has an VSAM/KSDS file READ command with the update option, and it finds that the update is no longer required, how does the application release the exclusive control of the record read?  
A:  By executing an EXEC CICS UNLOCK command with the File or Dataset option. A SYNCPOINT will also release the exclusive control.

Q:  What is a deadlock?
A:  Deadlock (also known as a “deadly embrace”) occurs when a task is waiting for a resource held by another task, which, in run, is waiting for a resource held by the first task.

Q:  Which CICS program is responsible for the management of the DSA )the Dynamic Storage Area)? 
A:  The Storage Control Program (SCP).

Q:  What happens when an application issues an EXEC CICS GETMAIN command to obtain Main storage and the SHARED option is specified?.  
A:  There is no automatic release of the obtained storage at the end of the task, which requested it.

Q:  How can an application release main storage acquired by an EXEC CICS GETMAIN command?
A:  By coding an EXEC CICS FREEMAIN command with the data SYNCPOINT will also release the storage area.

Q:  What is the function of the REQID in the EXEC CICS STARTBR command? 
A:  When you have multiple browse operations at the same time on the same file, the REQID must be coded on the READ Next/Prev command to distinguish one browse from the other.

Q:  Which CICS command must the application program issue to terminate a browse?
A:  An EXEC CICS ENDR command. SYNCPOINT also ends the browse.

Q:  What is the function of the EXEC CICS RESETBR command?
A:  To operation the browser (with VSAM files this can be done just by altering the RIDFLD) and to change the characteristics specified on the STARTBR command without ending the browser.

Q:  When debugging CICS application, why would you use the CEBR command?
A:  To view the contents of the TSO or TDQ.

Q:  Mention some of the most common operation you can perform with the CEMT CICS transaction.
A:  Create a new copy of an application programCEMT S PR(prgname) NEW Close a file from CICS  CEMT S DA(filename) CLO UNI Disable a transaction  CEMT S TRANS(transid) Dis

Q:  What is the function of the CEDA transaction?
A:  It is used to perform the Resource Definition On-line operation (RDO). It adds, deletes, and changes table entries. 

Q:  What CICS command does the application have to issue to update an existing record in a VSAM/KSDS file?
A:  The EXEC CICS REWRITER command.

Q:  What CICS command does the application have to issue to update an existing record in a TS queue?
A:  The EXEC CICS WRITE command with the rewrite option and the item number.

Q:  What is the purpose of the CICS BIF DEEDIT?
A:  To remove all character other than digits from an alphanumeric field. Renaming digits will be right-justified and padded with zeros as necessary.

Q:  What is the Best Locator for Linkage (BLL) used for?
A:  The BLL is used to address storage outside of the working-storage section of the application program. A set of BLL cells is also known as the parameter list. It is not used (explicitly) in COBOL II, although the BLL cells can be found in the TGT of a COBOL II program.

Q:  Explain the term “transaction routing”
A:  Transaction routing is a CICS “mode” of intercommunication, which allows a terminal, connected to local CICS to execute another transaction owned by a remote CICS.

Q:  Explain the term “function request shipping”?
A:  Function request shipping is one of the CICS modes of intercommunication which allows an application program in a local CICS to access resource owned by a remote CICS.

Q:  Explain the term “MRO” Multi-Region Operation
A:  MRO is the mechanism by which different CICS address space which the same CPU can communicate and share resources.

Q:  If, when executing a “READ INTO” command, the length of the actual (variable) length record exceeds the length specified in the LENGTH option, which happen (if anything)?
A:  You will get a LENGERR.

Q:  When a second READ WITH UPDATE is given against the same file in the same task prior to releasing the file, what will happen?
A:  An INVREQ will take place

Q:  How could you prevent such an error?
A:  After the first read, and prior to the second read, you could:
    1.Issue an UNLOCK
2.Execute a DELETE
3.Execute a REWRITE
4.Execute a SYNCPOINT

Q:  Name one condition that would result in the inability to execute a backward browse.
A:  If you issue a STARTBR with a generic key, a backward brose will not work.

Q:  You have duplicate keys and you have loaded an alternate index into RIDFLD. What would happen if you issue a READNEXT after searching from a direct retrieval read?
A:  You would get the same record twice.

Q:  You are doing a mass delete using a generic key. What could you do to determine the number of records that have been deleted?
A:  You would use the NUMERIC (data area) option with the generic key. Upon completion of the mass delete, the data area would contain a count of the number of records that were deleted.

Q:  How should the data area used with the NUMREC option be defined?
A:  S9 (4) COMP.

Q:  Which command will terminate a VSAM mass insert operation?
A:  An UNLOCK command.

Q:  Which command(s) will deblock DAM files?
A:  DEBKEY will deblock by key DEBREC will deblock by relative record number.

Q:  What could cause you to get an INVREQ when building a logical message to a screen?
A:  You have changed the disposition specified while building a logical message.

Q:  What could cause you to get a MAPFAIL when issuing a RECEIVE MAP command?
A:  You would get a MAPFAIL it no data was transferred from the screen.

Q:  What command would you issue if you wanted to discontinue building a logical message?
A:  You would issue a PURGE MESSAGE command.

Q:  Can you intermix a SEND TEXT and a SEND MAP when building portions of a logical message?
A:  No you cannot intermix these two commands.

Q:  How do you release page buffers?
A:  By issuing a FREEMAIN command.

Q:  What do you have to do to determine if data was sent from a screen from a specific (single) field?
A:  You have to check the MDT for that field.

Q:  Which command would you issue to get data in a task that was started by a START command?
A:  You would issue a RETRIEVE command.

Q:  What would happen if you issued a READNEXT TS command and there were no more data in the queue?
A:  You would get an ITEMERR.

Q:  You have a DL/I file and you want to issue a READPREV. Will it work correctly?
A:  You can issue a READPREV only against a VSAM file.

Q:  You can issue a BROWSE command in a CICS program that is pseudo-conversational?
A:  Yes, but the BROWSE will terminate at the end of each task in the session it will not carry over.

Q:  What are the two ways to “set up” a browse starting with the first record in the file?
A:  You can.
1. Set the complete key equal to reverse the default option is GTEQ.
2. You can specify KEYLENGTH(0) and GENERIC options.

Q:  In a VSAM file, when you want to do a mass delete, the file has to be unprotected. How can you specify to the system that a file is unprotected?
A:  Sin the FCT you set LOG = NO.

Q:  When you are sending your first data screen to the terminal, it is recommended that you specify the ERASE option. Why?
A:  If you do not include the FRAST option, the screen size will be the same as the previous screen size setting and this may not be correct. They may also be material on the screen, which would remain if not overlaid by fields of your map.

Q:  Which key, if depressed by the terminal operator, will set the screen size to its default size?
A:  The CLEAR key.

Q:  Does a HANDLE CONDITION command take precedence over a HANDLS AID command?
A:  No, the HANDLE AID takes precedence.

Q:  What does the BMS ROUTE command do?
A:  The RPUTE command initiates the building of a logical message that will be scheduled for delivery to one or more terminals.

Q:  What has to happen if you abend with an “APCT”?
A:  The program tried to execute a program that was either:
1.  Not defined in the PPT or active RDO group
2.  Disable

Q:  What does the ERASEUP command do?
A:  The ERASEUP commands:
1.Clears all MDTs
2.Unlocks the keyboard
3.Erases all unprotected fields
4.Positions the cursor at the first unprotected field

Q:  What will happen if you issue an XCTL or a LINK and the called program cannot be found?
A:  You will get a PGMIDERR.

Q:  What happens to the exception (HANDLE CONDITION, HANDLE SBEND, HANDLE AID) condition set in a called routine once control has been transferred to the called routine?
A:  Once you are in the called routine all condition setting are deactivated.

Q:  What is AEYB abend?
A:  CICS ABEND : AEYB


TERMINOLOGY

AID
Attention Identifier
CWA
Common Work Area
DCT
Destination Control Table
EIP
Execution Interface Program
FCP
File Control Program
ICP
Interval Control Program
KCT
Task Control Program
MRO
Multi-Region Operation
PCP
Program Control Program
PCT
Program Control Table
PPT
Program Processing Table
SCP
Storage Control Program

SIT

System Initialization Table
TCA
Task Control Area
TCP
Terminal Control Program
TCT
Terminal Control Table
TCTTE
Terminal Control Table Terminal Entry
TCTUA
Terminal Control Terminal User Area
TDQ
Transient Data Queue
TSQ
Temporary Storage Queue
TWA
Task Work Area

Technical Interview Questions
IBM-CICS Top 100 Interview questions


No comments:

Post a Comment

New In-feed ads