CICS Tutorial
CICS Tutorial
CICS
INTRODUCTION
ONLINE SYSTEM
DEFINITION : ONLINE processing allows a user to interact with a computer and access its resources via a
terminal.
BATCH
ONLINE
Input
Start of A job
Operator (or operating system) initiates the job. Other jobs in the same region must wait.
Once CICS is initialized, entering transaction id triggers the transaction to start.
Processing Mode
End of job
Each job
Output
printed reports, output files. User must wait for batch jobs to produce reports (day, week, month)
Resource Usage
Less
More
Example of application
WHAT IS CICS?
Provides services to handle all the special requirements for online processing
Note : Role of CICS is to interface between application programs and the DB/DC control system.
OTHERS
CICS START UP
CICS SHUTDOWN
CICS job produces various logs, statistics, dumps and other reports and ends
MULTI TASKING
MULTI THREADING
Tasks share the same program under the multi tasking environment.
RE-ENTRANT PROGRAM
Program when does not modify itself in any way during execution.
QUASI RE-ENTRANT
INTRODUCTION TO BMS
To make the application program device independent and format independent CICS provides Basic
Mapping Support (BMS)
Physical Map
For input operations, it defines the maximal data length and starting position of each field to be read
and allows BMS to interpret an input data stream
(Attribute Bytes) and default data for each field, and allows BMS to construct an output data stream.
SYMBOLIC MAP
1. Ensures the device and format independence to the application programs
2. A layout change in the formatted screen can be done independent of the application program
coding as long as field name and length remain the same
3. Symbolic map is included in the program by issuing a COBOL COPY statement
BMS Macros are coded, assembled and catalogued into a COPY library
Halfward binary
When performing input functions fields suffixed with “L”, “F”, and “I” are meaningful.
When performing OUTPUT functions, the fields suffixed with “A” and “O” are meaningful.Contains the
data to be sent to the terminal.
OUTPUT MAPPING
“MAP ONLY”
MAPSET (‘mapset1’)
MAPONLY
END-EXEC
“DATA ONLY”
MAP (‘mapname1’)
MAPSET (‘mapset1’)
DATA ONLY.
END-EXEC.
o Field headings, attribute bytes, and the location of where all information is to be placed is sent.
o only the data in the symbolic map is sent to the screen.
3. Neither “ MAPONLY NOR DATAONLY"
MAP (‘map-name1’)
MAPSET (‘mapset1’)
END-EXEC
o The physical map and the data from symbolic map is sent to the terminal.
ERASE: Current screen is erased before the map specified appears on the screen
CURSOR POSITIONING
Static positioning
If IC option is specified in the ATTRB field of DFHMDF macro the cursor will be placed at this field.
Place (-1) into the field length field (“L” suffix). Cursor will be placed in the field.
ERASE
END-EXEC.
If the operator presses any key (clear, PA, PF, ENTER, Keys) without entering any data.
Any of the three plans for redefinition of maps may be used with either of the 2 alternatives for placing
maps in your program.
Copying a symbolic description map structure here makes the area automatically available whenever the
program is invoked.
LINKAGE SECTION
Copying a symbolic description map structure here does NOT mean the storage will be available. Some
methods for providing storage are passing a COMMAREA, acquiring temporary storage with the SET
option, or using a GET MAIN command.
SEND / RECEIVE
Sending from the Symbolic description map
MAPSET(`SET1')
MAPSET(SETVAR)
FROM (MAP1O)
SEND MAP Coding Alternatives You can code the SEND MAP command to locate the symbolic
description map in several ways:
Using constants in the name field for MAP and MAPSET(FROM is not required)
Using variables in the name field for MAP and MAPSET (This makes FROM a required parameter)
Using only the MAP parameter. In this case the name in the MAP option must be the MAPSET name.
RECEIVE MAP(`MAP1')
MAPSET(SETVAR)
INTO (MAP1 I)
Using constants in the name field for map and mapset (INTO/SET is not required) This is the most
commonly used format.
Using variables in the name field for MAP and MAPSET. This makes INTO (database) or SET a required
parameter.
Using only the MAP parameter. In this case the name in the MAP option must be the MAPSET name.
Linkage Section.
01 DFHCOMMAREA
01 LST
Using the SET option requests CICS to get the storage and return a pointer to it. The symbolic description
map must be in the LINKAGE SECTION.
OUTBOUND FUNCTIONS
SEND
[ERASE/ ERASEAUP]
[FREEKB]
[ALARM]
[FRSET]
[PRINT]
ERASE
ERASEAUP
FREEKB
ALARM
FRSET
PRINT
Start the 3270 print operation.
Control Functions:
Typically the first type of command in the program is a SEND MAP. Certain control functions may be
included in that command.
ERASEAUP will clear out each field whose attribute is unprotected. It will NOT alter any attribute
settings.
If you do not free the keyboard using FREEKB, the operator will have to press the RESET key before
entering data.
If you code FRSET, all attribute bytes currently having Modified Data Tags (MDT) set on will be set off.
Selective resetting of the MDT's must be done another way.
When sending data to a 3270 screen the actual printing from the buffer will occur when the PRINT
function is requested.
Attributes :
The `A' suffixed field is an attribute field which controls the following:
PROTECTED/UNPROTECTED
ASKIP
NUM
MDT
If the color or highlighting of a field has to be changed, additional symbolic fields are needed which are
called the EXTENDED ATTRIBUTES.
EXTENDED ATTRIBUTES
DSATTS (for symbolic map) and MAPATTS (for physical map) support the extended attribute
characteristics
The MAPATTS allows you to set up the physical map with any of the characteristic(s) coded.
The DSATTS will create appropriate suffixed labels for the attribute characteristic(s) coded.
The name of the input key the terminal operator pressed is placed in the field EIBAID.
EIBAID/CURSOR
WORKING-STORAGE SECTION.
......
PROCEDURE DIVISION.
......
......
......
When you first enter your program as a result of a transaction id, you can test EIBAID and/or EIBCPOSN.
This may be done prior to issuing a RECEIVE command, if so chosen.
If the operator uses any PA key or presses the CLEAR key, no data is transmitted
EIBAID is useful when function keys are defined for the user.
EIBCPOSN can be used to determine where the cursor was positioned on the screen. This information is
especially useful with screens containing an action bar.
CURSLOC
Sample Map
STORAGE=AUTO
CURSLOC=YES
ATTRIB=ASKIP
ATTRB=PROT
CURSLOC= YES allows you to determine after a RECEIVE MAP command, which map field had the cursor
in it.
CURSLOC=(NO/YES) may be coded on the DFHMSD or the DFHMDI macro. If coded on the DFHMSD
macro, it will provide a default for all the maps in that mapset.
When CURSLOC=YES, BMS will set the `F' suffix field to X'02' indicating that field contained the cursor. If
the cursor is in a field for which there is no symbolic label i.e. a DFHMDF with no label the program will
not be notified.
Note : The `F' suffix field continues.
To be used to indicate the operator pressed the erase to end of fixed (EOF) key by being set to X'80'.
Therefore, if CURSLOC=YES it is possible to have both these conditions occur for the same field, in which
case the `F' suffix field will contain a X'82'.
EDITING
When data is sent out via the `O' suffix fields or received into the `I' suffix fields you may want a
definition other than PIC x. PICIN AND PICOUT allows the user to use other COBOL PICS such as $,Z etc.
If the date contains special characters, you may want to remove them using the BIF DEEDIT command.
If PICIN/PICOUT is not coded in the macro, the pic generated is always PIC X (length of field)
PICIN tells BMS how to move data into the `I' suffix field.
PICOUT tells COBOL how to edit your data move to the `O' suffix field.
Amount
BIF
Amount
$5431.80
EDIT
00543180
EXEC CICS
BIF DEEDIT
FIELD (amount)
LENGTH (8)
END-EXEC.
BIF DEEDIT is used to remove the special characters from the input field.
The Amount field displayed has a dollar sign and a decimal point
By using BIF DEEDIT dollar sign and decimal point is removed. Thus the number can be used for
arithmetic operations.
VS COBOL-II uses the implied length of the data-area used in the field parameter.
OBJECTIVES
Starting a Task
CICS commands
Identification Division
Program - ID required
Author
Date-Written
Date-compiled
Remarks
Environment Division
Other requirements:
SORT feature
CALL statement is allowed if the called program does not issue any CICS commands or inhibited COBOL
statements mentioned above.
TERMINATION STATEMENTS
Notes :This is not the way to terminate a CICS program. CICS has a command for that purpose.
Nevertheless, COBOL and VS COBOL II have three statements to conclude programs.
Control must not be allowed to pass beyond the last statement of a CICS Program.
STOP RUN in COBOL uses operating system facilities, and therefore, is discouraged.
EXIT program is ignored if the program has not been called.
Transactions
Task
Program
Transactions
An exchange between a terminal and a data base representing an application process. For example, an
inquiry or a deposit and balance update
Task
Program
CONVERSATIONAL TRANSACTION
When the user completes response (by pressing enter) reset task is automatically initiated by CICS.
The task receives the message from the terminal & processes it.
PROGRAM PREPARATION
Running the DB2 precompiler first is the preferred method. DB2 precompiler precedes another process,
binding, not mentioned here.
TRANSLATOR recognizes EXEC CICS and EXEC DLI statements. They are commented out and replaced
with statements in the appropriate language. Here, COBOL MOVE instructions and a CALL are inserted
and passed on to the COBOL compiler.
DB2 Precompiler is supplied by the relational data base managers, DB2 and SQL/DS. It recognizes EXEC
SQL statements which it will comment out and replace with in our case. COBOL PERFORM and CALL
statements.
The o/p of the linkage editor is executable. The load module is placed in the CICS online program library.
Messages or warnings are provided on all the listings. The compiler listing is or limited use if the
translator listing would not process all commands.
TESTING
Or
CEMT S PR (prg1) N
After making changes to a program the new version replaces old version, but CICS which is currently
executing has no way of knowing this automatically. The CICS processing program table PPT still points
to the old-version.
To avoid testing with the old version, you must use the CICS-provided CEMT transaction to update the
pointer to the program.
COMMON FORMAT
A CICS command consists of a keyword phrase, delimiter, function, options and their argument values.
Be careful about periods. Avoid them after END-EXEC. Where you don't really want them.
The translator will place a period into the generated code if a period follows end-exec.
ARGUMENT VALUES
data - value
data - area
(Not a constant)
eg :-
01
Record-area.
05
Fld 1
05
Fld 2
name
label
Paragraph name
hhmmss
Packed decimal
pointer-ref
BLL cell
Usage pointer
RECEIVE COMMAND
LENGTH(ml)
END-EXEC
RECEIVE command is used to receive incoming data from the terminal to which this CICS transaction is
associated.
A receiving area must be defined in working storage section and has to be specified in the INTO
parameter.
Length field must be defined in working storage section as a S9(4) comp. It has to be specified in length
option.
SEND COMMAND
LENGTH(ln)
END-EXEC
The data to be sent must be stored in working storage section, and this field name has to be specified in
the FROM parameter.
EXCEPTIONAL CONDITIONS
RESP option
Define a full word binary field S9(8) comp in the working storage section as the response field.
Place RESP option with the response field in any CICS command.
After command execution, check the response code in the response field with DFHRESP (xxxx)where
xxxx is
HANDLE CONDITION
Handle condition command is used to transfer control to the procedure label specified if the exceptional
condition, specified occurs.
Remains active until the end of program or another handle condition request overrides it.
IGNORE CONDITION
Ignore condition command causes no action to be taken if the condition specified occurs in the
programs.
Request by the IGNORE CONDITION command is valid until the subsequent HANDLE CONDITION
command for the same condition.
NO HANDLE OPTION
If NOHANDLE option is specified in any CICS command, no action will be taken for any exceptional
condition occurring during execution of this command.
Length (...)
NOHANDLE
END-EXEC
ASKTIME Command
EIBDATE and EIBTIME fields have the values at the task initiation time.
Format
[DATESEP(data - value)]
The data area for the ABSTIME option of ASKTIME and FORMATTIME commands must be a 15-digit
packed decimal data type.
DELAY COMMAND
used to delay the processing of a task for the specified time interval or until the specified time.
FORMAT
INTERVAL (002000)
TIME (152000)
End - EXEC
Task will be suspended for 20 minutes if INTERVAL is specified or until 15:20:00 if TIME is specified.
COMMAREA
PSEUDO CONVERSATIONAL
Pseudo conversational technique is uses the multiple transaction identifiers(pct entries) and multiple
program (pct entries). It performsthe terminal conversation in the following way:
A conversational program is logically and physically divided into separte programs after sending a
message and before receving the message. For each separate program, a unique cics trasction identifier
is assigned. before terminating the program, each program issues the RETURN command with the next
transaction identifier which is associated with the next program, unless it is the least return to CICS
itself. in this way, a series of terminal conversations can be carried out continuously.
PASSING DATA TO NEXT TASK
Notes :
The first time commarea is passed, it must begin as an area of storage in the working storage section of
the program passing it.
A commarea parameter in the RETURN will pass the area to the program associated with the
subsequent transaction. In this case, itself.
The subsequent program (in this case the same program) must define access to all the commarea that
was passed to it.
PAYROLL as both the sender and the receiver of the COMMAREA needs the working storage definition to
send and the linkage section DFHCOMMAREA to receive.
PAYROLL must therefore be able to distinguish between FIRST TIME into the program. When there is no
COMMAREA and subsequent times in. Where one exists in the Linkage section. The EIB field, EIBCALEN
indicates the length of the commarea.
EIBCALEN
While returning the control to CICS the working storage is loaded and this is sent via the commarea
parameter in the RETURN Transid.
On subsequent entry, commarea exists and is automatically made addressable by CICS in the linkage
section of DFHCOMMAREA
To pass control from one program to another and then return to the original like executing a subroutine.
The link command passes control to another program defined in CICS PPT expecting that the program
will return to the linking program instruction following the LINK command. This happens when the
linked program issues a RETURN command.
The commarea is shared between the two program regains control may changes made to the commarea
by the linked program are accessible.
The two programs executive under the same task.
The working storage section for the linking program is retained. Working storage for the linked program
is automatically released after its RETURN command is executed.
To pass control from one program to another and then return to the original like executing a subroutine.
The link command passes control to another program defined in CICS PPT expecting that the program
will return to the linking program instruction following the LINK command. This happens when the
linked program issues a RETURN command.
Functional overview
DIRECT RETRIEVAL
DIRECT RETRIEVAL
BROWSE
BROWSE
Entry for VSAM file has to be there in FCT (File Control Table)
Each entry contains all descriptive information for the file it represents. So, programmer need not define
the physical organization and other attributes of the files.
The File parameter coded in the program must be the same as the file name in the FCT.
Interface between CICS and Relational Database is called CICS attachment Facility. Statement are coded
in SQL language in the application program to Communicate data requests to the database.
TOPICS
DIRECT RETRIEVAL
BROWSE
PROGRAM ORGANIZATION
RECORD IDENTIFICATION
RECORD KEY
PARTIAL KEY
For ESDS
For RRDS
PROCEDURE DIVISION.
RIDFLD must be set to the value of the key of the record to be retrieved.
RIDFLD must be large enough to hold a full record key even when a partial key is used.
READ COMMAND
The data content of the record is moved into the specified data-area defined in the working storage
section.
FORMAT
RIDFLD (data-area)
END - EXEC.
INTO names the field in the working storage section where the data has to be placed.
EXCEPTIONAL CONDITIONS
LENGER R LENGERR : The specified length (in LENGTH OPTION) is shorter than the actual record length.
The exceptional condition can be trapped using RESP option in the READ command.
ADDRESSABILITY TECHNIQUES
RESP (EXCEPTION)
END-EXEC.
a module given control through the use of a CICS XCTL command will not return to the program that
issued the XCTL.
The PGMIDERR exception condition occurs when the name is not in the PPT.
LOGICAL LEVELS
The linked to program runs at a new logical level and returns to a logical level back to the linking
program.
Notes :
To quit the repeated execution simply RETURN without the TRANSID option.
Any linked program could use the same COMMAREA of the parameters so indicated.
The transid & commarea option easy enough to use to make this method practical.
CICS LINK
CICS XCTL
COBOL CALL
INPUT MSG & INPUT LEN PARAMETERS USED WITH XCTL OR LINK.
dotted
Linkage Section (prog2)
01 DFHCOMMAREA
ADDRESSABILITY
This data is created or collected by one or more online transaction to be used later by the same
transaction or by a different transaction or even later passed to a batch program.
They are
Destination ID and other characteristics of TDQ are defined in the destination control table (DCT) by the
system programmer.
2 types of TDQ’s
Intra Partition TDQ - Processed only within the same CICS region
Extra Partition TDQ - Individual Sequential Files processed between the transaction of the CICS region
and the system outside of the cics region.
INTRA PARTITION TDQ
All Intra partition TDQ are stored in only 1 physical file (VSAM)
Several tasks can write to the same TDQ but only one task can read from TDQ.
Interface among CICS transaction. Applicati on program 1 TDQ Appl . Pgm 2 report
Message routing
Extra partition TDQ is a separate physical file & may be a disk, tape or reporter.
DCT determines the initial open / close status of a file while the file can be opened or closed through the
master terminal transaction during CICS session.
EXCEPTIONAL CONDITIONS
1. Special handling required
LENGERR - length specified is greater than the maximum record length specified in DCT
TEMPORARY STORAGE
WRITEQ TS
QUEUE (NAME)
LENGTH (DATA-VALUE)
[ITEM (DATA-AREA)
[REWRITE]
[MAIN | AUXILIARY]
END-EXEC.
ITEM - If this option is coded CICS write return the item number assigned to the record just written.
Main / Auxiliary - To specify the storage medium. Will be stored in main if auxiliary storage not
supported.
READQ TS
QUEUE (NAME)
LENGTH (DATA-VALUE)
[NUMREC (DATA-AREA)]
END-EXEC.
NEXT - to retrieve the next - logical record in the TSQ. mutually exclusive to the item option
NUMREC - the data area is defined as PIC 9(4) comp. to find the Total no. of records in the TSQ.
DELETEQ TS of TSQ
EXEC CICS
DELETEQ TS
QUEUE (NAME)
END-EXEC.
EXCEPTIONAL CONDITIONS
Itemerr - Item number specified is not in the range of entry number assigned for the Queue.
error
CECI (Command Level Interpreter) is a CICS - supplied transaction which performs syntax checking of a
CICS command. If the syntax is satisfied, it will execute the command.
CEBR (Temporary Storage Browse) is a CICS - supplied transaction which browses Temporary Storage
Queue (TSQ).
CEDF is a CICS - supplied transaction which monitors the execution of an application program as an
interactive debugging aid.
IGNORE CONDITION
HANDLE CONDITION
HANDLE AID
HANDLE ABEND
For invoking CECI, type CECI with the CICS command to be interpreted.
MAPSET (`SPOOMSO')
ERASE
CEBR can be invoked while you are already in the CEDF mode.
EXCEPTION HANDLING
RESP option: - The RESP option can be specified in any CICS command. Its function is similar to the
return code in the batch program.
Define a fullword binary field (S9(8)COMP) in the working storage section as a response field.
After command execution, check the response code in the response field with DFHRESP (xxxx), where
xxxx is the - NORMAL
HANDLE CONDITION This command is used to transfer control to the procedure label specified if the
exceptional condition specified occurs.
IGNORE CONDITION This command causes no action to be taken if the condition specified occurs in the
program.
[Condition (Label)]
[Error (Label)]
END-EXEC.
or
Condition
[Condition]
END-EXEC.
ABEND CODE
If an exceptional condition occurs during execution of a CICS application program and if the program
does not check the exceptional condition, CICS may continue executing the program or terminate
abnormally the execution of the program, depending on the exceptional condition and the command
involved.
HANDLE CONDITION
COMMANDS
IGNORE CONDITION
Some of the more common CICS abends are briefly described below. These are only brief descriptions
and do not cover all possible reasons.
ASRA
This is the most common abend in CICS. It indicates a Program Check Exception, roughly equivalent to
having an S0C7 in a batch program. Check for spaces in a packed decimal numeric field and changes to
the file and record layouts.
There are numerous abends that start with AEI or AEY. They indicate that an exception has occured, and
RESP (or NOHANDLE) is not is use. The last character indicates the exact error
AEI0
indicates a PGMIDERR.
AEI9
is a MAPFAIL condition,
AEIO
AEIN
AEID
indicates an End of file condition.
AEIS
AEIP
AEY7
AICA
This abend usually occurs if your program is looping. There are CICS parameters that determine how
long a task can run without giving up control. The ICVR parameter in the CICS SIT table can be used to
specify a value for all tasks running in CICS, or you can specify a RUNAWAY value when you define a
transaction . If a program is looping then you may not get an AICA abend, because the timer can be reset
when certain events occur, eg some EXEC CICS commands may reset the timer to zero.
These abends indicates that the task was purged. The task may have been purged by someone issuing a
CEMT command to purge the task, or by CICS because the Deadlock timeout limit has been exceeded or
because there was not enough virtual storage available to run all the tasks in CICS (Short on Storage)
APCT
A program was not found or was disabled. Check the transaction definition to see if the program name
was misspelled. Check that the program is enabled. Check that the program is in an appropriate Load
Library (ie one defined to the current CICS system).
AKCP and AKCT
These abends indicate that a timeout of the task occurred. This may be due to a deadlock.
AFCA
ABM0
The specified map was not found in the specified mapset. Check that you have not misspelled the map
name.
The Execute Interface Block (EIBLK) contains a variable called EIBFN.This contains a value that tells you
what CICS command was last executed. This value can be displayed as part of an error message, to aid in
the debugging of your code or when an exception condition occurs
Code Command
0202 ADDRESS
0208 ASSIGN
020C PUSH
020E POP
0402 RECEIVE
0404 SEND
0406 CONVERSE
0420 ALLOCATE
0422 FREE
0424 POINT
0602 READ
0604 WRITE
0606 REWRITE
0608 DELETE
060A UNLOCK
060C STARTBR
060E READNEXT
0610 READPREV
0612 ENDBR
0614 RESETBR
0802 WRITEQ TD
0804 READQ TD
0806 DELETEQ TD
0A02 WRITEQ TS
0A04 READQ TS
0A06 DELETEQ TS
0C02 GETMAIN
0C04 FREEMAIN
0E02 LINK
0E04 XCTL
0E06 LOAD
0E08 RETURN
0E0A RELEASE
0E0C ABEND
1002 ASKTIME
1004 DELAY
1006 POST
1008 START
100A RETRIEVE
100C CANCEL
1204 ENQ
1206 DEQ
1208 SUSPEND
1602 SYNCPOINT
180C ROUTE
1C02 DUMP
4804 MONITOR
4A04 FORMATTIME
5602 SPOOLOPEN
5604 SPOOLREAD
5606 SPOOLWRITE
5610 SPOOLCLOSE
5E32 WAITCICS
6A02 QUERY SECURITY
7402 SIGNON
7404 SIGNOFF
CICS FAQ’s:-
CICS FAQS
Answer: In case of call , whenever you do changes to the called program you need to compile the calling
program also. In case of link , it is not needed .
Answer: both are used to save data among tasks. but 1. commarea is private to that transaction only .
like every transaction has its own commarea created by cics as soon as the transaction is initiated .
however tsq , if qid is known can be accessed by other transactions also 2. commarea length is s9(4)
comp ie 65k . but tsq can have any length.3. commarea is available only during the transaction is
running. tsq if created with auxiliary option resides in aux memory and available even if main memory
crashes.4.normally commarea is used to tranfer data from one task to another while tsq is used widely
within the task as a scratch pad.
Answer: Communication Area is used to pass data between the programmer between the task.
Question: Which of the following statements correctly describe the syntax of CICS command language?
Answer:
1. If an EXEC CICS command must be continued onto a second line a hyphen (-) must be coded in
column 7 of the continued line.
2. 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.
3. An EXEC CICS command CANNOT be coded within a COBOL IF statement,between the IF command
and the period (.) ending it.
4. The END-EXEC delimiter is optional and never needs to be placed at the end of a CICS command.
5. 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
Question: .A CICS program ABENDS with an ASRA ABEND code. What is its meaning?
Answer:
1. A link was issued to a program whose name does not exist in the PPT (Program Processing Table).
2. A program attempted to use a map that is not defined in the PCT (Program Control Table).
3. 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.
4. A program interrupt (0C0 or 0C1 or 0C2 or ...) has occurred in a CICS program.
5. An I/O error has occurred when attempting to use a VSAM file from a CICS program
Question: Which of the following commands, when issued by 2 different programs running at the same
time, will prevent simultaneous use of resource 'SINGLE'?
Answer:
Answer: U-for uncondishional braykpoint, C-for condishional braykpoint,and A-for automatic braykpoint
Question: how many ways are there for initiating a transaction?what are they?
1. embedding four character transid on the top left most corner of the screen.
4. By defining the transid in DCT ( destination control table) to enable ATI (AUTOMATIC TASK
INITIATION)
Answer: intrapartition tdq is read destructive. extrapartition tdq is not read destrctive.
Answer: this is the error code for length,if 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 program id error.sorry for the
wrong information.
Answer: THIS IS THE ERROR CODE GIVEN BY THE SYSTEM ,IT MEANS PROGRAM ID ERROR.
Answer: It occurs when program interuption takes place.e.g.: when alphanumeric string moved to
numeric data itemOR when arithmetic calculations performed on nonnumeric data itemOR when an
attempt made to read an occurance of a table beyond the defind occurances.
Question:What is a two Phase commit in CICS?
Answer: This occurs when a programmer Issues a 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: 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. Hope this
will suffice
Answer: If any one want to restrict Trans-Id to single user, enter trans-id with ENQ. It won't allow any
one else to use the same trans-id.
Question: In SYMBOLIC Cursor Positioning after moving -1 to the length field also the cursor is not
positioned in that particular field.Give reasons?
Answer: You have to explicitly specify the word CURSOR between your EXEC CICS and END-EXEC in the
program.
Answer: The EIB is the EXECUTIVE INTERFACE BLOCK. It is not the EXECUTE INTERFACE BLOCK. All TP
monitors or transaction processors are know as EXECUTIVEs as they carry out process on behalf of a
program module. CICS and DB2 are excutives.
Answer: READQ TD, the read is destructive. Yes it is correct but there is a restriction.U can deletethe
records sequentially.. For example if one want to delete 10 th record directly it is not possible with this..
Question: What command do you issue to delete a record in a transient data queue ?
Answer: The XCTL command passes control to another program, but the resources requested by the first
program may still be allocated. A task does not end until a RETURN statement is executed. While in 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 main memory
even though both are no longer needed.
Question: What is the difference between CICS Program Control Table (PCT) and CICS Processing
Program Table (PPT) ?
Answer: 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.
Answer: 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)
Answer: There are times when many users are concurrently using the same program, this is what we call
MultiThreading. For example, 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
Question: What is the difference between a physical BMS mapset and a logical BMS mapset?
Answer: 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.
Answer: You have to move the following macro DFHBMFSE to the Attribute field of that particular
Variable.
Question: What CICS facilities can you use to save data between the transactions?
Question: How would you release control of the record in a READ for UPDATE?
Answer: By issuing a REWRITE,DELETE, or UNLOCK command or by ending the task.
Question: How would you release control of the record in a READ for UPDATE?
Question: 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.
Answer: 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.
Question: What is the maximum number of exceptions that can be specified with a single HANDLE
CONDITION command in CICS ?
Question: WHAT WILL BE THE LENGTH OF THE EIBCALEN ,IF THE TRANSACTION IS USED TO CICS FIRST
TIME?
Answer: 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.
Question: What is the difference between the XCTL and LINK commands?
Answer: The LINK command anticipates return of control to the calling program, theXCTL command
does not. Return to the calling program will be the result of the CICS RETURN command, specifying
TRANSID(name of the calling program).
Question: What CICS command would you use to read a VSAM KSDS sequentially in ascending order?
Answer: 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 ofREADNEXT.
Answer: 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.
Answer: An area used to transfer data between diffrent programs or between subsequent executions of
the same program. Needs to be defined in the Linkage Section.