Useful Q
Useful Q
A1)
Any BLL Cell, Data type of Length Option field, HHMMSS type of data fields
Q3) Specify CICS transaction initiation process. (From the perspective of CICS
control programs and control tables.)
A3) TCP places data in TIOA and corresponding entry into TCT.
KCP acquires the transaction identifier from TIOA and verifies if it is present in PCT.
SCP acquires Storage in Task Control Area (TCA), in which KCP prepares control
data for the task.
KCP then loads the application programs mentioned in PCT by looking for it in PPT.
If resident - real storage memory location is not present in the PPT the control is
passed to PCP that loads the application programs from the physical storage location
address given in PPT. The control is then passed to the application program (LOAD
module).
Q4) List the sequence of steps used to achieve “Modification in Skip Sequential
Mode.”
A4)
I. READNEXT command
Q5) Specify the requirements for Automatic Task Initiation. (Mention the
control table, it’s entries and the corresponding Procedure division CICS
command).
DESTID=MSGS,
TRANSID=MSW1,
TRIGLEV=1000
QUEUE(‘MSGS’),
FROM(DATA-AREA),
LENGTH(MSG_LEN)
END-EXEC.
Q6) What are the commands used to gain exclusive control over a resource (for
Ex a Temporary storage queue.)?
RESOURCE(QID) RESOURCE(QID)
END-EXEC END-EXEC
Q7) What is the EIB parameter and the CICS command used to implement
Pseudo-Conversational technique using single PCT - Single PPT entry?
TRANSID(data-name)
COMMAREA(data-area)
LENGTH(data-value)
END-EXEC
Q8 ) Mention the 5 fields available in the symbolic map for every ‘NAMED’ field
in the DFHMDI macro? Give a brief description of these fields (Not exceeding a
line).
A8 ) FIELD+L - Return the length of text entered (or for dymanic cursor positioing)
FIELD+I - Used for reading the text entered while receiving the map.
Q9) What are the two ways of breaking a CPU bound process to allow other
tasks to gain access to CPU.
INTERVAL(hhmmss) TIME(hhmmss)
END-EXEC END-EXEC
Q10) How do you initiate another transaction? The transaction initiated should
be in a position to retrieve information pertaining to which transaction has
initiated it and from which terminal. (Code the required CICS commands)
INTERVAL(hhmmss)/TIME(hhmmss)
TRANSID(‘TRAN’)
TERMID(‘TRM1)
FROM(data-area)
LENGTH(data-value)
RTRANSID(EIBTRNID)
RTERMID(EIBTRMID)
END-EXEC
INTO(data-area)
LENGTH(data-value)
RTRANSID(data-name)
RTERMID(data-name)
END-EXEC
Q11) Mention the option (along with argument type) used in a CICS command
to retrieve the response code after execution of the command.
Q12) What’s the CICS command used to access current date and time?
A12) ASKTIME.
Q13) Into what fields will the date and time values be moved after execution of
the above command?
END-EXEC
Q15) How do you dynamically set the CURSOR position to a specific field?
A15) MOVE -1 to FIELD+L field. Mention CURSOR option in the SEND command.
Q16) Which option of the PCT entry is used to specify the PF key to be pressed
for initiating a transaction?
A16) TASKREQ=PF1
Q17) Specify the CICS command used to read a VSAM record starting with
prefix “F”. Code all the relevant options.
DATASET(‘FILENAME’)
INTO(data-area)
RIDFLD(data-area)
KEYLENGTH(1)
GENERIC
LENGTH(WK-LEN)
END-EXEC.
Q18 ) Mention the option used in the CICS READ command to gain accessibility
directly to the file I/O area. (Assume COBOL-II).
Q21) What is the option specified in the read operation to gain multiple
concurrent operations on the same dataset?
A21) REQID(value).
Q22) What is the CICS command that gives the length of TWA area?
TWALENG(data-value)
END-EXEC.
Q23) What are the attribute values of Skipper and Stopper fields?
Q24) How do you set the MDT option to ‘ON’ status, even if data is not entered?
A24) Mention FSET option in DFHMDF or set it dynamically in the program using
FIELD+A attribute field.
Q25) What option is specified in the SEND command to send only the unnamed
fields on to the screen?
A25) MAPONLY_______________.
A26) CEDA
Q27) What is the most common way of building queue-id of a TSQ? (Name the
constituents of the Queue ID).
A27) TERMID+TRANSACTION-ID.
A28 ) TCT.
Q29) How and where is the TWA size set? .
A31)
COBOL- II PROGRAM
LINKAGE SECTION.
01 PARMLIST.
01 TWA-DATA-LAYOUT.
PROCEDURE DIVISION.
……….
TWA(TWA-PTR)
END-EXEC
COBOL- II PROGRAM
LINKAGE SECTION.
01 TWA-DATA-LAYOUT.
PROCEDURE DIVISION.
……….
TWA(ADDRESS OF TWA-DATA-LAYOUT)
END-EXEC
………
EMP ID : XXX
EMP NAME :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
DEPARTMENT : @@@@@@@@@@
SALARY : $$$$$$$
STATUS : @@@@@@@@@@@@@@@@@@@@
EXIT : X
X - Input Field
Mapname - EMPFORM
Mapsetname - EMPFORM
Label given to various ‘named’ fields on the DFHMDF macro while defining the map
shown above. EMPID, EMPNAME, EMPDESIG, DEPART, , SALARY, STATUS
and EXITINP.
Working-Storage Section.
01 EMP-IOAREA.
05 EMP-REC.
10 EMP- PIC X.
WORKING-STORAGE SECTION.
77 LENGTH-OF-AREA PIC S9(4) COMP.
01 STATUS.
02 NORMAL.
01 EMP-IOAREA.
05 EMP-REC.
10 EMP- PIC X.
LINKAGE SECTION.
01 DFHCOMMAREA.
PROCEDURE DIVISION.
………..
IF EIBCALEN=0
EXEC CICS SEND
MAP(‘EMPFORM’)
MAPSET(‘EMPFORM’)
ERASE
END-EXEC.
MOVE 3 TO LENGTH-OF-AREA
TRANSID(‘EMPS’)
COMMAREA(‘SEC’)
LENGTH(DATA-VALUE)
END-EXEC.
MAP(‘EMPFORM’)
MAPSET(‘EMPFORM’)
END-EXEC.
DATASET(‘EMPINFOR’)
INTO(EMP-IOAREA)
RIDFLD(EMPIDI)
LENGTH(LENGTH-OF-AREA)
RESP(WS-RCODE)
END-EXEC.
ELSE
MOVE EMP- TO O
MAP(‘EMPFORM’)
MAPSET(‘EMPFORM’)
ERASE
END-EXEC.
MOVE 3 TO LENGTH-OF-AREA
TRANSID(‘EMPS’)
COMMAREA(‘SEC’)
LENGTH(LENGTH-OF-AREA)
END-EXEC.
EXEC CICS RETURN
END-EXEC.
END-EXEC.
A33) The programming technique in which the task will not wait for the end-user
replies on the terminal. Terminating the task every time the application needs a
response from the user and specifying the next transaction to be started when the end
user press any attention key (Enter, PF1 through PF24, PA1,PA2 and Clear) is
pseudo-conversational processing.
A34) when we send a map using SEND MAP command. Immediately we release the
program by using EXEC CICS RETURN command. In this command we mention the
TRANSACTION ID which is to be executed after receiving the map. In this
command we also specify the data that should be stored in COMMUNICATION
AREA for later use. When this command is executed the corresponding program is
released from the memory. After receiving the response from the terminal the
program is again loaded and this time the data which we stored in communication
area will be copied into the working storage section. And the map will be received
with RECEIVE MAP command.
The variable EIBCALEN in EIB holds the length of communication area. In
procedure division we checks the value of EIBCALEN If it is zero, we first send the
map followed by RETURN command. Otherwise, that is if EIBCALEN is not zero,
we know that this transaction is not running first time and we receive the map by
using RECEIVE MAP command.
A40) With an XCTL, the working storage and the procedure division of the program
issuing the XCTL are released. The I/O areas, the GETMAIN areas, and the chained
Linkage Section areas (Commarea from a higher level) remain. All existing locks and
queues also remain in effect. With a LINK, however, program storage is also saved,
since the transaction expects to return and use it again.
Q41) What CICS command do you need to obtain the user logon-id?
A41) You must code EXEC CICS ASSIGN with the OPERID option.
II. Transaction ID
III. Terminal ID
A45) The EIBRCODE tells the application program if the last CICS command was
executed successfully and, if not, why not.
Q46) What is the effect of including the TRANSID in the EXEC CICS RETURN
command?
A46) The next time the end user presses an attention key, CICS will start the
transaction specified in the TRANSID option.
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.
Q49) How many conditions can you include in a single HANDLE CONDITION
command?
A49) No more than 16 in a single handle condition. If you need more, then you must
code another HANDLE CONDITION command.
Q51) What is the difference between EXEC CICS HANDLE CONDTION and
an EXEC CICS IGNORE command?
Q52) What happens when a CICS command contains the NOHANDLE option?
A52) No action is going to be taken for any exceptional conditional occurring during
the execution of this command. The abnormal condition that occurred will be ignored
even if an EXEC CICS HANDLE condition exist. It has the same effect as the EXEC
CICS IGNORE condition except that it will not cancel the previous HANDLE
CONDITION for any other command.
Q53) When a task suspends all the handle conditions via the PUSH command,
how does the task reactivate all the handle conditions?
A54) Reentrant program is a program which does not modify itself so that it can
reenter to itself and continue processing after an interruption by the operating system
which, during the interruption, executes other OS tasks including OS tasks of the
same program. It is also called a "reenterable" program or"serially reusable" program.
Restriction on Program Alteration: The program must not alter the program itself.
If it alters a CICS macro or command, it must restore the alteration before the
subsequent CICS macro or command.
Q55) What are the CICS commands available for program control?
A55) The following commands are available for the Program Control services:
2. XCTL: To pass control to another program at the same level, not expecting to be
returned.
A56) The Base Locator for Linkage ( BLL ) is an addressing convention used to
address storage outside the Working Storage Section of an application program. If
BLL is used for the input commands (e.g.: READ, RECEIVE), it will improve the
performance, since the program would be accessing directly the input buffer outside
of the program. In order to work as intended, the program must construct BLL based
on the following convention:
1). The parameter list must be defined by means of a 01 level data definition in the
Linkage Section as the first area definition to the Linkage Section, unless a
communication area is being passed to the program, in which case
DFHCOMMAREA must be defined first. The parameter list consists of a group of the
address pointers, each of which is defined as the full word binary field ( S9( 8 )
COMP ). This is called the BLL cells.
2). The parameter list is followed by a group of 01 level data definitions, which would
be the actual data areas. The first address pointer of the parameter list is set up by
CICS for addressing the parameter list itself. From the second address pointer onward,
there is a one-to-one correspondence between the address pointers of the parameter
list and 01 level data definitions.
Q57) Explain the various ways data can be passed between CICS programs.
A57) Data can be passed between CICS programs in three ways- COMMAREA,
TRASIENT DATA QUEUE &
Data can be passed to a called program using the COMMAREA option of the LINK
or XCTL command in a calling program. The called program may alter the data
content of COMMAREA and the changes will be available to the calling program
after the RETURN command is issued in the called program. This implies that the
called program does not have to specify the COMMAREA option in the RETURN
command.
If the COMMAREA is used in the calling program, the area must be defined in the
Working Storage Section of the program (calling), whereas, in the called program, the
area must be defined as the first area in the Linkage Section, using reserved name
DFHCOMMAREA.
Q58 ) What is the difference between using the READ command with INTO
option and SET option?
A58 ) When we use INTO option with the READ command the data content of the
record will be moved into the specified field defined in the Working Storage Section
of the program. When we use SET option with the READ command , CICS sets the
address pointer to the address of the record in the file input / output area within CICS,
so that the application program can directly refer to the record without moving the
record content into the Working Storage area defined in the program. Therefore, the
SET option provides a better performance than the INTO option.
Q60) What is the difference between the INTO and the SET option in the EXEC
CICS RECEIVE MAP command?
A60) The INTO option moves the information in the TIOA into the reserved specified
area, while the SET option simply returns the address of the TIOA to the specified
BLL cell or “address-of” a linkage-section.
Q61) How to establish dynamic cursor position on a map? How to get the cursor
position when we receive a map?
A61) We dynamically position a cursor through an application program using a
symbolic name of the symbolic map by placing -1 into the field length field ( i.e.,
fieldname + L) of the field where you wish to place the cursor. The SEND MAP
command to be issued must have the CURSOR option ( without value ). Also, the
mapset must be coded with MODE = INOUT in the DFHMSD macro. We get the
cursor position when we receive a map by checking EIBCPOSN, which is a halfword
( S9(4) COMP) binary field in EIB, and contains offset position (relatively to zero ) of
the cursor on the screen.
Q63) What are the three ways available for a program to position the cursor on
the screen?
A63)
I. Static positioning. Code the insert cursor (IC) in the DFHMDF BMS macro.
II. Relative positioning. Code the CURSOR option with a value relative to
zero(position 1,1 is zero) .
III. Symbolic positioning. Move high values or -1 to the field length in the symbolic
map(and code CURSOR on the SEND command).
Q64) Name three ways the Modified Data Tag can be set on?
A64) The Modified Data Tag can be set on:
Q68 ) Explain the basic difference between Intra partition TDQ and Extra
partition TDQ.
A68 )
INTRA PARTITION TD QUEUEs It is a group of sequential records which are
produced by the same and / or different transactions within a CICS region. These Qs
are stored in only one physical file ( VSAM ) in a CICS region, which is prepared by
the system programmer. Once a record is read from a queue, the record will be
logically removed from the queue; that is the record cannot be read again. EXTRA
PARTITION TD QUEUEs It is a group of sequential records which interfaces
between the transactions of the CICS region and the systems outside of CICS region.
Each of these TDQs is a separate physical file, and it may be on the disk, tape, printer
or plotter.
Q69) What are the differences between Temporary Storage Queue (TSQ) and
Transient Data Queue (TDQ).?
A69) Temporary Storage Queue names are dynamically defined in the application
program, while TDQs must first be defined in the DCT (Destination Control Table).
When a TDQ contains 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 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.
Q70) What is the difference between getting the system time with EIBTIME and
ASKTIME command?
A70) The ASKTIME command is used to request the current date and time. Whereas,
the EIBTIME field have the value at the task initiation time.
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
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.
M3 DFHMDI ........TRAILER=YES,JUSTIFY=LAST...........................
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.
Q75) How can the fact that EIBCALEN is equal to zeros be of use to an
application programmer?
A75) 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).
Q76) Which CICS system program is responsible for handling automatic task
initialization?
A76) The Transient Data Program(TDP).
Q77) In an on-line environment, how can you prevent more than one user from
accessing the same Transient Data Queue at the same time?
A77) By issuing an EXEC CICS ENQ against the resource. When processing is
completed, a DEQ should be executed.
Q78 ) 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?
A78 ) An EXEC CICS RETRIEVE command will access the common area.
- By using TCTUA
- Through a file
Q82) Which CICS command must be issued by the application program in order
to gain access to the Common Work Area(CWA)?
Q83) In which CICS table would you specify the length of the TASK WORK
AREA (TWA)?
A83) In the Program Control Table(PCT).
Q91) Name some of the common tables in CICS and their usage.
A91) PCT Program Control Table - defines each transaction, containing a list of valid
transaction identifiers (transid) where each transaction is paired with its matching
program; PPT Program Processing Table - contains a list of valid program names and
maps and whether a current version is in the CICS region or needs to be brought in as
a new copy;
FCT File Control Table - contains a list of files known to CICS, the dataset name and
status (closed/open, enabled/disabled);
Q92) Name some common CICS service programs and explain their usage?
A92) Terminal Control, File Control, Task Control, Storage Control, etc. Each CICS
services program controls the usage and status for its resource (file, terminal, etc)
within the CICS region.
Q98) What is an MDT (Modified Data Tag) - it's meaning and use?
A98) The modified data tag is the last bit in the attribute byte for each screen field. It
indicates whether the corresponding field has been changed.
Q102) How does COBOL II and CICS release 1.7 provide for exceptional
conditions and how does that differ from VS COBOL and earlier CICS releases?
Q105) What are attribute bytes and how and why are they modified?
A105) Attribute bytes define map field characteristics (brightness, protection, etc);
they are modified prior to issuing a SEND MAP command, eg. from normal to intense
to highlight an error field.
Q106) How do you invoke other programs? What are the pros and cons of each
method?
A106) There are three ways:
Q109) What is the difference between the enter key, the PF keys and the PA
keys?
A109) The enter and PF keys transmit data from the screen; the PA keys tell CICS
that a terminal action took place, but data is not transmitted.
Q110) Explain the difference among the EXEC LINK, EXEC XCTL and Cobol
II static call statements in CICS.
A110) COBOL II allows for static calls which are more efficient than the LINK
instruction which establishes a new run-unit.
Q120) What other file control processing commands are used for file updating?
A120) WRITE, REWRITE, DELETE and UNLOCK.
Q122) What tables must be updated when adding a new transaction and
program?
A122) At a bare minimum the Program Control Table ( PCT) and Program Processing
Table (PPT) must be updated.
Q124) What do the terms locality of reference and working set mean?
A124) They refer to CICS efficiency techniques. Locality of reference requires that
the application program should consistently reference instructions and data within a
relatively small number of pages. The working set is the number of program pages
needed by a task.
Q128) What are the DB2 steps required to migrate a CICS DB2 program from
source code to load module?
A128) A DB2 precompiler processes some SQL statements and converts others. It
creates a data base request module (DBRM) for the binding step. The bind process
uses the DBRM to create an application plan, which specifies the techniques DB2 will
use to process the embedded SQL statements. The link/edit step includes an interface
to the CICS/DB2 attachment facility.
Q129) Name some translator and compile options and explain their meaning?
A129) For translator SOURCE option prints the program listing, DEBUG enables
EDF and COBOL2 alerts the system to use the COBOL II compiler. For the compiler
XREF prints a sorted data cross reference and FDUMP prints a formatted dump if the
program abends.
Q136) What are the CICS commands associated with temporary storage queue
processing?
A136) WRITEQ TS, READQ TS, and DELETEQ, whose meanings should be self-
explanatory.
Q137) What are the CICS commands associated with transient data queue
processing?
A137) WRITEQ TD, READQ TD, DELETEQ TD, ENQ and DEQ.
II. moving item 4 to 3 and 5 to 4 and initializing item 5, all thru rewrites; this is a
variant on 1;
III. creating a new 'copy' TSQ that excludes the unwanted item, killing the old TSQ
(deleteq ts), writing the new TSQ with the original name from the new TSQ, and then
deleting the 'copy' TSQ. This way, you will get an accurate report from NUMITEMS.
Q140) What CICS command would you use to read a VSAM KSDS sequentially
in ascending order?
A140) READNEXT reads the next record from a browse operation for any of the
three VSAM files.
Q141) How do you get data from a task that began with a START command?
A141) The RETRIEVE command is used to get data from a task that began with a
START command.
Q142) What is interval control and what are some of the CICS commands
associated with it?
A142) CICS interval control provides a variety of time-related features - common
commands are ASKTIME, FORMATTIME, START, RETRIEVE, and CANCEL.
Q143) What is task control and what are the CICS commands associated with it?
A143) Task control refers to the CICS functions that manage the execution of tasks.
Task control commands are SUSPEND, ENQ, and DEQ.
Q145) What is the ABEND command and when would you use it?
A145) The ABEND command forces a task to end abnormally. It creates a transaction
dump and invokes the dynamic transaction backout.
Q146) 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?
A146) 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.
Q152) Why doesn’t CICS use the Cobol Open and Close statements ?
A152) CICS AUTOMATICALLY OPENS AND CLOSES THE FILES THOSE ARE
PLASED IN FCT
Q153) What is the difference between a Symbolic map and Physical map ?
A153) SYMBOLIC MAP IS USED BY USER AND PHYSICAL MAP IS USED BY
SYSTEM
Q155) How is the stopper byte different from an auto skip byte ?
A155) STOPPER command will stop after completing its field , whereas AUTOSKIP
command Will skip to next unprotected field after completing its field.
Q156) By which CICS defined field can you determine the position of the cursor
on the map ?
A156) ATTRIB FIELD
Q157) How will you place cursor on a field called ‘EMPNO’. This field belongs
to mapset ‘MAPEMPG’ and map ‘MAPEMPM’ and Symbolic map ‘Empid-
Rec’ ?
Q158) How do you place the cursor on a particular position on the screen? - GS
A158) Move -1 to the length attribute of the field and use the CURSOR option.
Q160) What is the difference between physical map and symbolic map? - GS
A160) The physical map is the load module and the symbolic map is the data
structure.
Q163) What are the 3 working storage fields used for every field on the map? -
GS
A163) Length, attribute and input/output field.
Q170) Name the macros used to define the following: MAP MAPSET FIELD
A170) DFHMSD DFHMDI DFHMDF
Q171) Can you use OCCURS in a BMS map? If you do, what are the issues
related with its use?
A171) Yes. cannot use group by clause???
Q173) How is the storage determined in the symbolic map, if you have multiple
maps?
A173) Storage for maps redefine the first. This means largest map has to be the first.
Q175) Can you simply check if length = 0 for checking if a field was modified?
A175) No, not if ERASE EOF was used.
Q176) What do you do if you do not want characters entered by the user to be
folded to uppercase ?
A176) Use ASIS option on RECEIVE.
Q178) What are the steps you go through to a create a BMS executable?
A178) Assemble to create CSECT and Link
Q179) When you compile a CICS program, the (pre)compiler puts an extra
chunk of code. Where does it get included and that is it called? What is its
length? - GS
A179) DFHEIBLK, DFHCOMMAREA.
Q180) List all the CICS tables and explain their contents. - GS
A180) PPT SIT
PCT JCT
FCT SNT
DCT SRT
RCT TCT
Q181) I have written a CICS program. What tables should I setup to run this
program? - GS
A181) PPT, PCT, (FCT, DCT, RCT (if needed)).
Q182) In which table would you make an entry for a BMS map? - GS
A182) PPT
Q188) If I create a TSQ from one transaction, can I read it from another
transaction? - GS
A188) Yes. As long as they run in the same region.
Q206) Suppose pgm A passes 30 bytes to pgm B thru commarea and pgm B has
defined its DFHCOMMAREA to be 50 bytes . Is there a problem ?
A206) Yes, if B tries to access bytes 31-50.
Q207) When an XCTL is done, does the tranid change ? Is a new task created ?
Does it cause an implicit SYNCPOINT to be issued ?
A207) No, No, Yes.
Q211) Can you have CICS code in a copybook? If yes, what happens during
compilation?
A211) Yes. Needs to be preprocessed.
Q214) I invoke a transaction from CICS. The program has a code: MOVE
DFHCOMMAREA TO WS-AREA. What happens to this transaction? What
happens to the other transactions?
A214) Junk may get moved in. Will cause Storage violation. ????
Q217) How will you access a VSAM file using an alternate index?
A217) Thru the path. Define path as an FCT and use normal File control commands.
A219) No.
Q222) In the CICS command level all the re-entrancy issues are handled by the
System(True or False).
A222) True
Q224) What are the beginning and end points of an LUW called?
A224) Sync point
Q225) The DL/I database is a hierarchical database and the DL/I access method
isthe access method of the Information Management System (IMS)(True or
False)
A225) True
Q226) Before you can use a Temporary Storage Queue you must first define the
Queue name in the CICS Temporary Queue Table)( True or False).
A226) False
Q227) The process of writing its own type of journal records by the application
program, other than the automatic journalling provided by CICS is called
A227) Explicit Journalling
Q229) Which is the CICS control program which governs the flow of control
among the CICS application programs?
A229) Program Control Program
Q230) What is the option of the DFHDCT macro which makes it possible to
recover logically deleted records from an Intrapartition TDQ?
A230) REUSE=YES
Q231) CICS and DB2 can exist in the same region under the Operating system
(True or False)
A231) True
Q232) What is the name of the facility provided by CICS to free the application
program form the problems caused by NMDS (device and format dependence)?
A232) Terminal Paging
Q233) What is the command which will delete a program LOADed into the main
storage using LOAD command?
A233) RELEASE
Q234) Which is the option of the HANDLE AID command that will pass control
to the specified label when any key is pressed?
A234) ANYKEY
Q237) What is the command that is used to add a new record to the file?
A237) READ with UPDATE followed by REWRITE
Q238) 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?
A238) INVREQ
Q240) What is the command used to request notification when the specified time
has expired?
A240) POST
Q241) If DATAONLY option is specified in the SEND MAP command what will
happen?
A241) Only the symbolic map will be send
Q242) What will happen if the TDQ that you want to delete is not in the DCT?
A242) QIDERR will occur
Q244) An XCTL uses more CPU time than LINK (True or False)
A244) False
Q247) When there are 2 records with the same key specified in a DELETE
operation what will happen?
A247) DUPKEY condition will be set
Q248) The application programs that contain the SQL statements must be Pre-
compiled for converting the SQL statements into equivalent COBOL statements
(True or False)
A248) True
Q251) CICS provides an interface through which the all the DL/I services can be
used under CICS(True or False).
A251) True
Q256) If you use the OPTIMIZE compiler option the size of the program can be
reduced by 5 to 10%(True or False).
A256) True
Q258) Before issuing an ASKTIME command what will be the values in the
EIBDATE and EIBTIME fields if the EIB?
A258) The date and time at the task initiation
Q259) What is the error condition that is set when the file specified in the NAME
option is not in the FCT?
A259) PGMIDERR
Q260) For protecting a transaction using the transaction security function, the
two things that must be done are:
1. in the SNT entry of the user who you which to allow to access a protected
transaction, specify SCTKEY=n
2. In the PCT entry of the transactions that you wish to protect specify the
TRANSEC=n. (True or False)A260) True
Q261) What are the various types of accesses that can be allowed by the
SERVREQ option of the DFHFCT?
A261) ADD,BROWSE,DELETE,READ,UPDATE
Q262) ‘CICS' system services provides an interface between CICS and the
operating system and carries out the functions like loading and releasing of
application programs, acquiring and freeing of storage , task scheduling, etc
(True or False).
A262) True
Q263) What are the parameters that you have to give when you are using the
CSSN transaction?
A263) None
Q264) What is the command that is used to delay the processing of a task for a
specified time interval or until a specified time?
A264) WAIT
Q265) NMDS is both device dependent and format dependent (True or False)
A265) True
Q266) Which is the EIB field that gives the date when a task was started?
A266) EIBDATE
Q267) Which is the AID that will not be identified in the ANYKEY option of the
HANDLE AID command?
A267) CLEAR
Q268) Reading a record from a TSQ will logically delete the record from the
Queue (True or False).
A268) True
Q269) What is the option that is used to erase all unprotected fields during a
SEND MAP operation?
A269) ERASEAUP
Q270) What is the CICS command that is used to receive the un-formatted data
from the terminal or logical unit of a communication network?
A270) RECEIVE
Q273) Which is the control table where you specify all the transaction that are to
be started by CICS after CICS start-up?
A273) Sign-on table
Q274) A HANDLE CONDITION remains active until the end of the program or
until another HANDLE CONDITION command (True or False).
A274) True
Q275) In the conversational mode the system waits for the user to enter his
response and then press an attention key, and while waiting the resources are
held by the program or task. So conversational mode of programming is
inefficient (True or False)
A275) True
Q276) Which is the macro used for making an entry in the PPT
A276) DFHPPT
Q277) The goal of a recovery process is to Maintain the integrity of the data
processed by the system and to minimize the impact of a task or system failure
(True or False).
A277) True
Q280) What is the CICS supplied transaction which performs syntax checking of
a CICS command?
A280) CEMT
Q281) What is the process of converting the CICS commands into the equivalent
host language statements called?
A281) Translation
Q283) What is the CICS Command that is used for reading a record from the
TDQ?
A283) READQ
Q287) What is the command used for receiving a map from a terminal?
A287) RECEIVE MAP
Q288) The mode of achieving conversation with the user, by sending him the
message and while waiting for his response, freeing the system resources is called
A288) Pseudo-conversation
Q290) What is the primary function of the Processing Program Table (PPT)?
A290) To register all programs and maps
Q292) Which is the command that is used to dump the main storage areas
related to a task?
A292) DUMP
Q293) What is the CICS command that is used to copy a screen image of a
terminal into another terminal?
A293) ISSUE COPY
Q294) What is the name of the log which contains the information needed to
restart the system, including the task sync point information and system activity
key points, snapshots of key system tables, etc.
A294) Dynamic Log
Q295) The EIB field which gives the last CICS command executed is
A295) EIBRCODE
Q296) The READ command with INTO option will read the record specified into
the data area specified (True or false).
A296) False
Q299) Which is the CICS control program that provides communication services
between user written application programs and terminals?
A299) Terminal Control Program
Q301) TSQs can be written in the Main storage or Auxiliary storage (True or
False).
A301) True
Q305) Which of the following statements correctly describe the syntax of CICS
command language?
A). If an EXEC CICS command must be continued onto a second line a hyphen
(-) must be coded in column 7 of the continued line.
B). 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.
D). The END-EXEC delimiter is optional and never needs to be placed at the end
of a CICS command.
E). The options specified within an EXEC CICS command can be in any order.
A305) E. The options specified within an EXEC CICS command can be in any order.
For example 'exec CICS Send From(Msg1) Length(30) End-Exec' can also be coded
'exec Cics Send Length(30) From(Msg1) End-Exec'
Q306) A CICS program ABENDS with an ASRA ABEND code. What is its
meaning?
A) A link was issued to a program whose name does not exist in the PPT
(Program Processing Table).
B) A program attempted to use a map that is not defined in the PCT (Program
Control Table).
C) A security violation has occurred. The operator is not defined with the proper
authority in the SNT (Sign-
E) An I/O error has occurred when attempting to use a VSAM file from a CICS
program
A306) A program interrupt (0C0 or 0C1 or 0C2 or ...) has occurred in a CICS
program.
MAP1S DFHMSD
TYPE=MAP,MODE=INOUT,CTRL=(FREEKB,FRSET),LANG=COBOL, X
TIOAPFX=YESMAP1
POS=(5,3),ATTRB=UNPROT,LENGTH=1FIELD3 DFHMDF
POS=(5,5),ATTRB=(UNPROT,IC),LENGTH=1FIELD4 DFHMDF
POS=(5,7),ATTRB=ASKIP,LENGTH=1FIELD5 DFHMDF
POS=(5,9),ATTRB=UNPROT,LENGTH=1,INITIAL='Z' DFHMDF
A308) In FIELD5
Q310) How many ways are there for initiating a transaction? what are they?
A310) There are six ways in initiating a transaction.they are as follows.
1. embedding four character transid on the top left most corner of the screen.
Q322) What command do you issue to delete a record in a transient data queue ?
A322) READQ TD, the read is destructive.
Q325) What is the difference between CICS Program Control Table (PCT) and
CICS Processing Program Table (PPT) ?
A325) PCT contains a list of valid transaction ID. Each transaction ID is paired with
the name of the program ,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.
Q328) What is the difference between a physical BMS mapset and a logical BMS
mapset?
A328) 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.
Q330) What CICS facilities can you use to save data between the transactions?
A330) COMMONAREA, TSQ & TDQ.
Q331) How would you release control of the record in a READ for UPDATE?
A331) By issuing a REWRITE,DELETE, or UNLOCK command or by ending the
task.
Q332) What is the difference between a RETURN with TRANSID and XCTL ?
For example prog. A is issuing REUTRN with TRANSID to prog B. Prog A. is
issuing XCTL to prog B?
A332) In RETURN with TRANSID the control goes to the CICS region and the user
have to transfer the control to prog. B by pressing any of the AID KEYS.In XCTL the
control is directly transfer to prog. B.
Q333) What will be the length of the eibcalen ,if the transaction is used to cics
first time?
A333) The length will be 0(zero).
Q334) What is DFHEIBLK?
A334) DFHEIBLK is Execute Interface Block. It is placed in the linkage section
automatically by CICS translator program. It must be the first entry in linkage section.
CICS places values prior to giving control to the program and we can find almost any
information about our transaction.
Q335) What is the difference between the XCTL and LINK commands?
A335) The LINK command anticipates return of control to the calling program, the
XCTL command does not. Return to the calling program will be the result of the
CICS RETURN command, specifying TRANSID(name of the calling program).
Q336) What CICS command would you use to read a VSAM KSDS sequentially
in ascending order?
A336) 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.
Modified Data Tag Bit in the attribute byte indicating modification of field on screen
Happens on an input operation. FSET Sets MDT on to ensure field is transmitted
Happens on an output operation FRSET Resets MDT Until this happens, field
continues to be sent
How can you start a CICS transaction other than by keying the Transaction ID at the
terminal?
By coding an EXEC CICS START in the application program by coding the trans id
and a trigger level on the DCT table By coding the trans id in the EXEC CICS
RETURN command By associating an attention key with the Program Control Table
By embedding the TRANSID in the first four positions of a screen sent to the
terminal. By using the Program List Table
What is transient data?
Transient data provides CICS programs with a simple method for sequential
processing, often used to produce output for 3270 printers.
I have done a START BROWSE on a VSAM Data Set Can I do another START
BROWSE without doing an END BROWSE?
NO. If you want to reposition to next level, you can issue a RESETBR command
Name three ways the Modified Data Tag can be set on?
What are the differences between Temporary Storage Queue (TSQ) and Transient
Data Queue (TDQ).?
Temporary Storage Queue names are dynamically defined in the application program,
while TDQs must first be defined in the DCT (Destination Control Table). When a
TDQ contains 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 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.
WHAT IS DFHEIBLK?
DFHEIBLK is Execute Interface Block. It is placed in the linkage section
automatically by CICS translator program. It must be the first entry in linkage section.
CICS places values prior to giving control to the program and we can find almost any
information about our transaction.
How many ways can we initiate a CICS Transaction? What are they?
A. Keying in the Transaction-id at the terminal
B. By coding an EXEC CICS START in the application program
C. By coding the transaction id and trigger level in the DCT (Automatic Task
Initiation)
D. By coding the transaction id in the EXEC CICS return command
E. By associating the attention key with the PCT
F. By embedding the transaction id in the first four positions of a screen sent to the
terminal
G. By using the Program List Table.
What is MDT? How it is related FSEAT & FRESET? What is the meaning of MDT
on?
The last bit in the attribute byte , the MDT(Modified data Tag), indicates whether the
user has modified the data in the field. to save transmission time , the terminal sends a
field to the CICS program only if its MDT is on. unmodified fields are not
transmitted.
Name three ways the Modified Data Tag can be set on?
1. when user enter data in the field
2. Setting ATTRB= FSET in mapset for the field
3. move the macro DFHBMFSE to the attribute field of that particular variable.
(dyanamically)
I have a VSAM file and there are two CICS pgms A and B both intends to update the
file. How to code the program so that it does not under go a dead lock situation.
RLS is a VSAM function , provide by DFHSMS , that enables data to be shared with
full updates capability, between many applications running in many CICS programs.
With RLS CICS share VSAM data sets can reside in multiple MVS images within a
parallel sysplex, RLS also provide the benefits when data sets being shared between
CICS regions and batch jobs. also provide different level of READ integrity and
update with Browse.
So if multiple applications use same VSAM file then better option to use VSAM RLS.
Second we can achieve by using SUSPEND option, it allow the application programs
to control the action if the records to be accessed in unavailable .
The DFHCOMMAREA is used to pass information from one application to another.
What are some other ways?
1) By using TSQ
2) By using an intrapartition TDQ
3) By using TWA(Task work area)
4) By using TCTUA
5) Through a file
The COMMAREA
The use of the COMMAREA option on the RETURN command is the principal
example of a safe programming technique that you can use to pass data between
successive transactions in a CICS® pseudoconversational transaction. CICS treats the
COMMAREA as a special form of user storage, even though it is CICS that issues the
GETMAIN and FREEMAIN requests for the storage, and not the application
program.
The TCTUA
The TCTUA is an optional extension to the terminal control table entry (TCTTE),
each entry specifying whether the extension is present, and its length. You specify
that you want a TCTUA associated with a terminal by defining its length on the
USERAREALEN parameter of a TYPETERM resource definition. This means that
the TCTUAs are of fixed length for all the terminals created using the same
TYPETERM definition.
A terminal control table user area (TCTUA) is safe to use in a dynamic transaction
routing environment as a means of passing data between successive transactions in a
pseudoconversational transaction. Like the COMMAREA, the TCTUA is always
accessible to transactions initiated at a user terminal, even when the transactions in a
pseudoconversation are routed to different target regions. This is illustrated in Figure
55. Some other general characteristics of TCTUAs are:
Minimal processor overhead (only one CICS command is needed to obtain the
address).
It is not recoverable.
The length is fixed for the group of terminals associated with a given
TYPETERM definition. It is suitable only for small amounts of data, the
maximum size allowed being 255 bytes.
If the terminal is autoinstalled, the TCTUA lasts as long as the TCTTE, the
retention of which is determined by the AILDELAY system initialization
parameter. The TCTTE, and therefore any associated TCTUA, is deleted when
the AILDELAY interval expires after a session between CICS and a terminal
is ended.
Note that the TCTUA is available to a dynamic routing environment in the routing
region as well as application programs in the target region. It can be used store
information relating to the dynamic routing of a transaction. For example, you can use
the TCTUA to store the name of the selected target region to which a transaction is
routed.
The ENQ and DEQ commands are used to serialize access to a shared resource. In
earlier releases of CICS, these commands were limited to the scope of CICS tasks
running in the same region, and could not be used to serialize access to a resource
shared by tasks in different regions. Now, provided that the ENQs and DEQs are
supported by appropriate ENQMODEL resource definitions (see the CICS Resource
Definition Guide for a description of ENQMODELs) they can have sysplex-wide
scope.
This is primarily of interest to the system programmer who will determine transaction
routing decisions, but application programmers should be aware of the advantages
now available.
Local enqueues within a single CICS region are managed within the CICS address
space. Sysplex-wide enqueues that affect more than one CICS region are managed by
Global Resource Services (GRS). The main points of the changes to the CICS
enqueue/dequeue mechanism are as follows:
Sysplex enqueue and dequeue expands the scope of an EXEC CICS ENQ|
DEQ command from region to sysplex, by introducing a new CICS resource
definition type, ENQMODEL, to define resource names that are to be sysplex-
wide.
ENQSCOPE, an attribute of the ENQMODEL resource definition, defines the
set of regions that share the same enqueue scope.
When an EXEC CICS ENQ (or DEQ) command is issued for a resource
whose name matches that of an installed ENQMODEL resource definition,
CICS checks the value of the ENQSCOPE attribute to determine whether the
scope is local or sysplex-wide, as follows:
o If the ENQSCOPE attribute is left blank (the default value), CICS
treats the ENQ|DEQ as local to the issuing CICS region.
o If the ENQSCOPE is non-blank, CICS treats the ENQ|DEQ as
sysplex-wide, and passes a queue name and the resource name to GRS
to manage the enqueue. The resource name is as specified on the
EXEC CICS ENQ|DEQ command, and the queue name is made up by
prefixing the 4-character ENQSCOPE with the letters DFHE.
The CICS regions that need to use sysplex-wide enqueue/dequeue function
must all have the required ENQMODELs defined and installed.
The recommended way to ensure this is for the CICS regions to share a CSD,
and for the initialization group lists to include the same ENQMODEL groups.
Benefits
BTS containers
An activity may own any number of containers; you are not limited to one.
There is no size restriction.
They are recoverable.
They exist in main storage only while the associated activity is executing.
Otherwise they are held on disk. Therefore, you do not need to be overly
concerned with their storage requirements, unlike terminal COMMAREAs.
CWA is an area in CICS that is available across all tasks within that CICS transaction.
Normally, if CWA is used by your shop there would be a program in the PLT that
gets executed when the region comes up to populate these values. If CWA is used, if
good programming standards are followed, there should be a copybook already
defined showing the layout of the CWA. CWA is not terminal/task specific. CWA is
used for passing/accessing information across multiple tasks and multiple terminals.
TCTUA is an area that is allocated for each terminal. TCTUA is used to pass data
across multiple tasks within the same terminal. When a terminal is defined to CICS,
the TCTUA size is also defined. Would be worth getting in touch with your CICS
support personal to find out the size of your TCTUA. Another method of passing such
information is use of TSQs where the first four characters for the TSQ name is
EIBTRMID and the last four characters are EIBTRNID.
And then there is TWA (Task Work Area) that is used to pass data across multiple
programs within a single CICS task. Another method of passing data within a single
task is COMMAREA. The size of the TWA is defined when the transaction is defined
in the PCT.
C SA is an area that is exclusively used by CICS. If you look at the address of CSA
and CWA, you would see that the CWA immediately follows the CSA. Similarly
there is TSA before a TWA.