What is mean by re-enterant
program
A Re-entrant program is one which does not
modify itself so that it can reenter into itself and continue
processing after an interruption by the operating system.
Hence a non-reentrant program cannot be used in a
Muti-threading environment.
The reentrant programs are
used in online systems, and they make it possible for the
operating system to establish a multithreading environment
which most online systems require.
After
writing source in CICS what are the next steps?
1.
Translator – converts all CICS commands to COBOL calls
2.
COBOL compiler
3. Link editor
Physical
Map
Are assembly language programs created and
placed in a load library. Physical maps control screen
alignment plus the sending and receiving of constants and data
to and from terminal.
Symbolic
Map
Is to store named variables data in a COBOL
program. Maps will be placed at source library.
HANDLE ERROR/NO HANDLE
/IGNORE conditions
A HANDLE CONDITION command
creates a go-to environment. An IGNORE command does not create
a go-to environment; instead it gives control back to the next
sequential instruction following the command causing the
condition.
Pseudo-conversational
pgms
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 presses any attention
key.
If a program enters into converstion with
terminal-user, it terminate the task after sending a message
with a linkage for next task. When user completes response,
next task is initiated automatically by CICS. This task
receives the message from the terminal and process
it.
Conversational
Online program
that reads a second input from the terminal (waits for
response to do additional process holds resources during
'wait')
A conversational program is
logically and physically divided into separate programs after
sending a message and before receiving the message. For each
separate program, a unique CICS Transaction-id is assigned.
Before terminating the program, each program issues the RETURN
command with the next Trans-id which is associated with the
next program, unless it is the last return to CICS itself. In
this way a series of terminal conversations can be carried out
continously.
Advantage: Easy to
develop
Disadvantage: Increase a no. of Trans-Id in PCT and
program names in PPT
Non-Conversational
Online
program that processes one input responds and ends.
EIB area
Some
of the information available in EIB area
EIBAID : attention
identifier associated with the last input
operation
EIBCALEN : length of the commarea passed
field
EIBDATE : date
EIBRCODE : the CICS response code
returned after the function requested by the task has been
completed.
IEBRCODE : 6 bytes codes indicating the response
code resulting from the last command issued
EIBTRANID :
Transaction identifier of the current task
Task &
Transaction
The difference between Task and a
Transaction is that while several users may invoke the same
transaction, each will given his own task.
What is the COMMAREA
(communications area)?
An area used to transfer
data between different programs or between subsequent
executions of the same program. Needs to be defined in the
Linkage Section.
How can you start CICS
transaction other than by keying the transaction ID at the
terminal?
1. By coding an EXEC CICS START in the
application pgm
2. By coding the transid and a trigger
level on the DCT table
3. By coding transid in the EXEC
CICS RETURN
4. By associating an attention key with the
Program Control Table
5. By embedding the TRANSID in the
first four positions of a screen sent to the
terminal
CICS Components
Data
handling component: it is an interface between CICIS and data.
VSAM, BDAM, DB2, DL/I, etc.,
Data communication
component: it is an interface between CICS and terminals or
other systems.TCAM, BTAM, VTAM, BMS, etc.
Application
programming services: it is an interface between CICS and the
application programs:
command level translator, EDF, CECI,
SDF, Trace and Dump.
System services: it is an
interface between CICS and the operating system. Program
control =>
load, release, storage control => getmain,
freemain, Task control.
Monitoring functions: it
monitors various event within CICS and provides a series of
statistics to be used for system
tuning.
Different ways of handling exception in
a CICIs program are
1. HANDLE CONDITION
2.
IGNORE CONDITION
3. NOHANDLE option
4. RESP
option
Different ways of
positioning the cursor are
1. Static - code the IC
in DFHMDF's ATTRB option
2. Relative - code CURSOR option
with a value relative to zero (position 1,1 is zero)
3.
Symbolic - move high values or -1 to the field length with
symbolic map (and code CURSOR on the SEND
command)
To delete a record from VSAM KSDS in
CICS
1. READ the record with UPDATE option and
give DELETE command without RIDFLD option within same
task.
2. DELETE command with RIDFLD option
3. DELETE
command with GENERIC option
LINK
:
It is used to pass control from an application
program at one logical level to an application program at the
next lower logical level. If the linked to program is not
already in main storage, it will be loaded. When the RETURN
command is executed in the linked to program, control is
returned to the program initiating the linkage at the next
sequential executable instructions.
XCTL
:
It is used to transfer control fron one
application program to another at the same logical level. The
program from which control is transferred is released. If the
program to which control is transferred is not already in main
storage, it will be loaded.
START
:
It is used to start a task, on a local or remote
system, at a specified time. The starting task may pass data
to the started task, and may also specify a terminal.
The
TRANSID, TERMID and FROM options specify the transaction to be
executed, the terminal to be used and the data to be used
respectively.
HANDLE ABEND
During
abnormal termination of a task, to provide a progra-level
abend exit facility so that you can include an exit routine of
your own that can be executed when required.
It
activates or reactivates an abend exit within your application
program, you can also use this command to cancel a previously
activated exit.
Tips
1. In CICS
the ENTER key does not fall under the ANYKEY option. But all
other attention identifier keys that are not defined
in
HANDLE CONDITION fall under ANYKEY
2. Abend codes
AEID =
EOF
AE19 = MAPFAIL
AEIV = LENGERR
AE10 =
DUPKEY
3. While reading TSQ the end of
the queue is determined by ITEMERR exception
condition
4. To browse a TSQ or TDQ we use the
transaction CEBR