0% found this document useful (0 votes)
46 views

Introduction To CICS: What Is Mean by Re-Enterant Program

A reentrant program is one that can be interrupted and reentered without being modified. It allows for multithreading. After writing a CICS program in COBOL, it goes through translation, compilation, and linking. Physical maps control screen layout and data transfer to terminals. Symbolic maps store program variables. HANDLE handles exceptions, IGNORE returns control, NOHANDLE does not handle exceptions. Pseudocomversational programs terminate after each user response. Conversational programs are divided into multiple transactions with separate processing for each user response.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Introduction To CICS: What Is Mean by Re-Enterant Program

A reentrant program is one that can be interrupted and reentered without being modified. It allows for multithreading. After writing a CICS program in COBOL, it goes through translation, compilation, and linking. Physical maps control screen layout and data transfer to terminals. Symbolic maps store program variables. HANDLE handles exceptions, IGNORE returns control, NOHANDLE does not handle exceptions. Pseudocomversational programs terminate after each user response. Conversational programs are divided into multiple transactions with separate processing for each user response.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Introduction to CICS >>

 
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

You might also like