Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
CICS
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Components== Each CICS region comprises one major task on which every transaction runs, although certain services such as access to [[IBM Db2]] data use other tasks (TCBs). Within a region, transactions are [[cooperative multitasking|cooperatively multitasked]]{{snd}} they are expected to be well-behaved and yield the CPU rather than wait. CICS services handle this automatically. Each unique CICS "[[task (computing)|Task]]" or transaction is allocated its own dynamic [[computer storage|memory]] at start-up and subsequent requests for additional memory were handled by a call to the "Storage Control program" (part of the CICS '''nucleus''' or "[[kernel (operating system)|kernel]]"), which is analogous to an [[operating system]]. A CICS system consists of the online ''nucleus'', batch support programs, and applications services.<ref name=SysProgRef>{{cite book|last=IBM Corporation|title=Customer Information Control System (CICS) System Programmer's Reference Manual|year=1975|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/370/CICS/SC20-1043-6_CICS_System_Programmers_Reference_Manual_Mar75.pdf|access-date=2012-11-21|archive-date=2011-02-17|archive-url=https://web.archive.org/web/20110217070450/http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/370/CICS/SC20-1043-6_CICS_System_Programmers_Reference_Manual_Mar75.pdf|url-status=live}}</ref> ===Nucleus=== The original CICS nucleus consisted of a number of functional modules written in 370 assembler until V3: * Task Control Program (KCP) * Storage Control Program (SCP) * Program Control Program (PCP) * Program Interrupt Control Program (PIP) * Interval Control Program (ICP) * Dump Control Program (DCP) * Terminal Control Program (TCP) * File Control Program (FCP) * Transient Data Control Program (TDP) * Temporary Storage Control Program (TSP) Starting in V3, the CICS nucleus was rewritten into a kernel-and-domain structure using IBM's [[PL/AS]] language{{snd}} which is compiled into assembler. The prior structure did not enforce separation of concerns and so had many inter-program dependencies which led to bugs unless exhaustive code analysis was done. The new structure was more modular and so resilient because it was easier to change without impact. The first domains were often built with the name of the prior program but without the trailing "P". For example, Program Control Domain (DFHPC) or Transient Data Domain (DFHTD). The kernel operated as a switcher for inter-domain requests{{snd}} initially this proved expensive for frequently called domains (such as Trace) but by utilizing PL/AS macros these calls were in-lined without compromising on the separate domain design. In later versions, completely redesigned domains were added like the Logging Domain DFHLG and Transaction Domain DFHTM that replaced the Journal Control Program (JCP). ===Support programs=== In addition to the online functions CICS has several support programs that run as batch jobs.<ref name=Logic>{{cite book|last=IBM Corporation|title=Customer Information Control System/Virtual Storage (CICS/VS) Version 1, Release 3 Introduction to Program Logic Manual|year=1977|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/370/CICS/SC33-0067-0_CICS_VS_Intro_To_Pgm_Logic_Feb77.pdf|access-date=2012-11-24|archive-url=https://web.archive.org/web/20110217070557/http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/370/CICS/SC33-0067-0_CICS_VS_Intro_To_Pgm_Logic_Feb77.pdf|archive-date=2011-02-17|url-status=dead}}</ref> {{rp|pp.34β35}} * High-level language (macro) preprocessor * Command language translator * Dump utility – prints formatted dumps generated by CICS Dump Management * Trace utility – formats and prints CICS trace output * Journal formatting utility{{snd}} prints a formatted dump of the CICS region in case of error ===Applications services=== The following components of CICS support application development.<ref name=Logic />{{rp|pp.35β37}} * Basic Mapping Support (BMS) provides device-independent terminal input and output * APPC Support that provides LU6.1 and LU6.2 API support for collaborating distributed applications that support two-phase commit * Data Interchange Program (DIP) provides support for [[IBM 2780/3780#2770.2C 3770|IBM 3770]] and [[IBM 3790]] programmable devices * 2260 Compatibility allows programs written for [[IBM 2260]] display devices to run on 3270 displays * EXEC Interface Program{{snd}} the stub program that converts calls generated by <code>EXEC CICS</code> commands to calls to CICS functions * Built-in Functions – table search, phonetic conversion, field verify, field edit, bit checking, input formatting, weighted retrieval
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)