Q1 - Explain the differences between a Transaction and a Task.
Ans- Under CICS, a user can't directly invoke a program. Instead, the user invokes a transaction, which in turn specifies the program to be run. When a user invokes a transaction, CICS locates the associated program with the transaction, loads it into storage (if it is not there), and starts a task. Where Task is a unit of work which is scheduled by CICS. The difference between transaction and task is that while several users may invoke the same transaction, each initiates a separate task.
Q2 - Distinguish between Multitasking and Multi-threading.
Ans - Multi-tasking means that the OS allows more than one task to run (be executed) concurrently, regardless of whether the task use the same program or different programs. Multi-threading is the system environment, where multiple tasks share the same program under the multi-tasking environment. Programs are shared by several tasks, and for each task the program work as if it executes the instructions only for that task.
Q3 - What is the differences between operation of Pseudo-Conversational and a conversational program ?
Ans - In a conversational mode, the program accomplishes the conversation by simply sending a message to the terminal, and waiting for the user to respond, and receiving the response from the terminal. The system that sits idle without allowing an other operation while waiting for the data is called a conversational program.
In a Pseudo-Conversational program, a program attempts a conversation with a terminal user, it terminates the task after sending a message with a linkage for the next task. When the user completes the response the next task is automatically initiated. Pseudo-conversational program's uses the CICS resources such as control tables efficiently.
Q4 - What is a PROGRAM CONTROL TABLE (PCT) ?
Ans - The primary function of the PCT is to register the control information of all CICS transactions. PCT contains a list of valid Trans-id paired with the name of a program CICS will load when the transaction is initiated with that transaction identifier. It identifies priority and security level (RSLC) of transaction.
Q5 - What is a PROCESSING PROGRAM TABLE (PPT) ?
Ans - The Primary function of PPT is to register all CICS application programs and BMS mapsets. The PPT keeps track of which applications are loaded on the CICS address Space (storage). CICS uses this information to determine whether new copy of the program need to be loaded from Disk or it exists on storage. It contains information such as Location in memory, Library address of the disk and language being used.
Q6 - What is FILE CONTOL TABLE (FCT) ?
Ans - The Primary function of FCT is to register the control information of all files, which are used under CICS. FCT contains the name and type of each file and in addition lists the file control operations that are valid for each file. It lists whether the existing records can be read sequentially or randomly, deleted or modified. Others control tables used are TCT to register terminals, DCT, TST, RCT, SIT, SRT and SNT.
Q7 - What are the the basic steps of a CICS program development ?
Ans - Develop a complete set of program specifications. The minimum the specifications should include program overview, a screen layout for each map being used, a listing of copy members of each file used by the program. Others that are needed are include decision tables, editing rules,...
Design the program. Most standard COBOL programs are designed around a basic looping structure that controls the overall program execution. In a pseudo-conversational CICS program there is no basic looping structure, Instead CICS invokes your program whenever there is an interaction with a user. CICS program is to be designed to respond appropriately for each type of user action.
Create the necessary CICS table entries. Before you can test a CICS program, you need to make sure that all of the CICS table entries required to support the program are in place. For most programs the entries need to be added to PPT, PCT and FCT tables.
Prepare the BMS mapset by coding the assembler language BMS macros or using mapset generator.
Code the program. Coding the CICS programs involves writing of standard COBOL code with special CICS commands to invoke CICS services.
Compile the program. By either using the Foreground command level translator or a JCL, compile the CICS application program. Under which the CICS commands are commented out and replaced by appropriate calls and move statements during the pre-compile / Translation step. In addition to translation the CICS commands the translator also inserts other code needed to process the CICS instructions. Now the Cobol Source is compiled and link-edited similar to a standard Cobol program.
Test the program under CICS test region. Load and run the program under the test environment and check for the functionality. You can use CEMT, CEDF and CECI transactions during the test cycle.
Q8 - What is a BMS Map ?
Ans - The primary objective of Basic Mapping Support system is to free the Application Program from device dependent codes and Format. A screen defined through BMS is called a Map. There are two type of maps: Physical Map ,Symbolic Map
Q9 - What is a Physical Map ?
Ans - It is the assembly language program, which are created and placed in a load (program) library. It controls the screen alignment plus sending and receiving of constants and data from and to the terminal, and has the terminal information.
Q10 - What is a Symbolic Map ?
Ans - It defines the map fields used to store variable data referenced in a COBOL program. They may be placed by BMS into a Copy library and be added to the Cobol program at the compile time.
Q11 - What is a Map Set ?
Ans - A group of maps, which are link-edited together is called a Mapset.
Q12 - What are the BMS Macros to generate Maps ?
Ans – DFHMSD - Data Facility Hierarchical Map Set Definition.It is used to define a mapset
DFHMDI - Data Facility Hierarchical Map Definition Information.It is used to define a map.
DFHMDF - Data Facility Hierarchical Map Data Field.It is used to define a Field in the map.
Q13 - What are the 3 working storage fields used for every field on the map? What other fields are generated ?
Ans - Length field, Flag Field and Attribute field. In addition Input & Output field are also created. Others are extended Color & Extended Highlighting attributes created only if MAPATTS and DSATTS are specified.
Q14 - What is the IBM supplied Copybook,with all modifiable attribute bytes that can be used with symbolic maps ?
Ans - DFHBMSCA
Q15 - How do you place the cursor on the particular position on the screen (map)?
Ans - Define the field with IC in the BMS map. Move -1 to the length attribute of the field and use the CURSOR option without displacement value. (symbolic positioning). Use the CURSOR(nnn) option with SEND MAP, where nnn = (row-1)*80+(col-1) (physical positioning).