CICS 22-02-2010
CICS( customer information control system)
Or
OLTP(On-line transaction processing )
Online processing:
a) Screen based interactive system
b) Only small range of data processing can be done
c) Programs run through (tso)
d)Online system is a system environment where many transactions run concurrently.
Batch Processing:
a) non-screen based interactive system
b) large amount of data processing can be done
c) program runs through cics
d) Batch system is a system environment where jobs run one by one in a sequence
some important points regarding CICS
a)CICS for programmers is nothing but the screen that is used to receive and to send data
from terminal to RDBMS and VSAM
b) but actually CICS is mini operating system
c)it handles multiple program execution at a time
d)earlier CICS was macro level but now command level CICS is available
e)CICS is data base/ data communication control system but IMS is data base control
system it means (IMS cannot be linked with any databases or any access methods
f)it handles data related activities like reading,writing,deleting etc
g)in CICS screen formats need not to be described in the program
Major components that are in cics
a) data communication component
b) data service component
c) application service component
d) distributed service component
data communication component
it takes care of sending and receving of data form terminal to the sreen
that is mainly called as VTAM(virtual telecommunication method)
it takes care of MRO(multi region operaton )
it takes care of Inter System Communication)
data service component
it interacts with data
it interacts with relational data base management system like db2
it interacts with virtual access methods like KSDS,ESDS,RRDS etc
application service component
it handles multiple program execution at a time
it provides the facility of CEDF(execution diagnostic facility) that is nothing but the
debugging of the cics commands that are used in the program
it also provides CECI(cics command interprutter) that is nothing but the pre-testing of the
cics commands that are used in the program
distributed service component
it interacts with other subsystems
CICS tabels
there are about 40 to 50 tabels are available in CICS in that few of them which are
frequently used by the CICS administrator and programmers are
a) PPT(program processing table)
b) PCT (program control table)
c) RCT (resource control table)
d) FCT(file control tabel0
e) DCT(destination control table)
f) SNT(sign-on table)
g) TST(temporary storage table)
h) TCT(terminal control table)
PPT table : information about all the programs and mapset should be entered in ppt table
for execution of the cics programs
Parameters in ppt are
a)name of the program/mapset
b)group name
c)threats(how many programs can be used at a time)
PCT table : information about all the cics transaction should be entered in PCT table
Parameters in PCT table:
a)name of the program
b)transaction id(that is 4 characters)
c)group name
d)task request (eg PF1,PF2………)
e)automatic restart(if transaction or task ends abnormally then use it)
f)priority
FCT table: information about all the VSAM files should entered in this table
Parameters in FCT
a)file name
b)program name
c)group name
d)orginal dataset name
e)key length(if it is KSDS)
f)current status of the dataset
1)read
2)write
3)delete
4)browse
DCT table: information about all tdq and tsq should be entered in this table
a)program name
b)group name
c)trigger level(for intera-partation tdq that is for ATI(automatic task initiation)
RCT table: information about all the db2 tabel should be entered
a)program name
b)group name
c)db2 plan name
SNT :related to log of log on of the CICS region
TCT :CICS terminal related issues are related in this TCT
TST: if any recovery of data form TSQ is required then it is used
Program related ideas:
1)Cics + cobol program
PPT ,PCT, DFHEITVL(translation)
2) CICS + cobol +map + vasm
PPT(pgm),PPT(map),PCT,FCT,DFHEITVL,DFHMAPS
3) CICS + cobol+ db2 + tsq or tdq + maps
PPT(pgm),PCT(map),DCT,RCT,DFHEITVL,DFHMAPS
CICS + cobol ----- translation -----load module -----
MAPS and MAPSETS
Maps can be created manually and also by using SDF tool (screen definition facility)
Maps manually can be created by using BMS macros
These three macros are used to create maps and mapsets
1) DFHMSD
2) DFHMDI
3)DFHMDF
1)DFHMSD: some of the parameters that are in msd are
1) TYPE: a)maps(only physical map will be displayed)
b)&sysparm (both symbolic and physical map will be displayed)
c)Desect (only symbolic map will be displayed)
d)Final (it is used during the end of the DFHMSD)
2) MOD : a)in (it is used only to receive the data from screen)
b)Out (it is used to send data to the screen )
c)Inout (it is used both to send and receive data from the screen)
3) CTRL : a)freekb(to free the keyboard when map is first displayed)
b)Fset (this is regarding to the attribute byte that is MDT(modified data tag)
MDT is nothing but the last bit in the attribute byte it indicates
c)Alarm (when ever map is displayed beep sound will be there)
4)STORAGE: a)auto(all maps in a mapset will be stored in separate memory and its
programmers risk to take care about the map related issues)
b)base:default is base and whole mapset will be stored in single memory)
5)TIOAPEX(terminal input output area prefix)
a)yes: symbolic map will take extra 12 bytes of memory for displaying
and the map will be displayed properly
b)no : symbolic map will not take extra memory and map will not be
displayed properly
6)MAPATTS(color,highlight,outline)
7)DSATTS(color,hilight,outline)
8)EXTATT: yes: if it is then only we can use MAPATTS,DSATTS parameter
9)LANG: cobol ,c,PL/1 etc
Note: compulsory parameters are TYPE, MOD, LANG
2)DFHMDI : some of the parameters that are in msd are
1)SIZE=(24,80) this is the stranded size for a map
Note we can change the size also but standard size used is 24,80
2)LINE=1(if the size is 24,80 then the line will be 1 otherwise line value will changes)
3)COLOUM=1(if the size is 24,80 then the line will be 1 otherwise line value will
changes)
Note: all the three parameters are compulsory
3)DFHMDF: some of the parameters that are in msd are
1)POS=(line,coloum) (where actually the value to be inserted )
2)LENGTH=nn(length of that specific variable)
3)ATTRB=(frset,num,)
4)COLOR=(this is related to CICs region we are using)
5)HIGLIGHT=( this is related to CICs region we are using)
6)OUTLIN=(above,right,left,below,box)
7)JUSTIFY=(right,left)
8)INITIAL=’ nnnn nn ‘(initial value want to be displayed )
Note: compulsory parameters are POS, LENGTH,ATTRB
By using these three parameters we can create map and mapset and once map is created it
should be compiled with DFHMAPS and then it can be used for further process
Once the map is created we can move on to programming logics and table entries
PSEUDO CONVERSATION :
Any CICS program can communicate with a pair of send and receive commands
In between that send and receive command the resource held by the program is released
and once again the program restarts from procedure division this is pseudo conversation
(And the resource may be TSQ,TDQ,VSAM,DB2 tabels etc)
NOTE : all the load modules and copy members are stored in the cics terminal itself
And uses the single copy of load module for execution of more than one program but for
every program there will be separate task because every program uses separate data
hence task will be different
PHYSICAL MAP: the load module of the entire map itself is the physical map
SYMBOLIC MAP : copy members of the map variables that are used in the program
All symbolic map consists of some important variables up to now i come across only few
variables some of them are
Input : depends on the screen variables
Output depends on the screen variables
Attribute 1 byte
Flag 1 byte
Length s9(4) comp
Input variables are used to get data from the screen
Output variables are used to send the data to the screen
Attribute variables are used to change to maintain the characterstics of the map variables
Length variable is used for cursor positioning and also to do get or find the value
changed during in the map send or receive command