CICS/TS Architecture Part 1 - Foundations
This course enables Systems Programmers and Systems Administrators to gain a clear and true grasp of CICS architecture from the ground up. By understanding the Kernel, the Dispatcher, the Transaction Manager and the Application Domains, not only do all of the subsequent components fall into place, but also the fundamentals for Debugging, Performance Tuning and Application Design begin to become a reality. There are two modules in the 'Architecture Series' and it is recommended that they be taken in order. Parts 1 & 2 may be run consecutively or with a consolidation gap between them.
This course is available for one-company, on-site presentations and for live presentation over the Internet, via the Virtual Classroom Environment service.
What you will learn
On successful completion of this course you will be able to:
- describe the domain architecture of CICS/TS
- explain the dispatching of work on multiple TCBs including L8, J8, SO, SL and QR
- describe how work gets into CICS by a variety of means
- explain how the Loader and Program Manager domains work
- debug CICS system and transaction problems
- discuss IPCS and the CICS verbexit
- tune CICS/TS
- describe the CICS-Db2 interface
- describe the exploitation of Threadsafe programs.
Who Should Attend
CICS Systems Programmers and CICS Administrators.
Prerequisites
Experience of the externals of CICS, such as application and/or systems programming and/or resource definition and administration isessential. Prior CICS internals knowledge is not required.
Duration
5 days
Fee (per attendee)
£3675 (ex VAT)
This includes free online 24/7 access to course notes.
Hard copy course notes are available on request from rsmshop@rsm.co.uk
at £50.00 plus carriage per set.
Course Code
TSAR1
Contents
Domain Architecture
Domain architecture; CICS Domains; Domains added since CICS/TS V2.1 (610); Encapsulation; Domain Anchor Blocks; Domain gates; Gates, modules and macros; Specific, generic and call-back gates; Domain call format; DSSR example parameters; Response and Reason code; CICS task vs transaction; Introduction to the Kernel Task; Introduction to the Dispatcher Task Area; Introduction to the Transaction Manager; Introduction to the Storage Manager transaction (SMX); 64-bit support; AP domain components.
The Domain structure of CICS/TS, how domains are initialised/terminated and how they collaborate with each other.
IBM Dump & Trace Utilities
Dump and trace utilities; Introduction to IPCS; CICS verbexit alias; Keywords; Complete or partial dumps?; SDUMP enhancements; CICS Trace introduction; Trace SIT parameters; Trace component names; CETR ; Trace formats abbreviated; Trace formats full and short; Trace summary.
Domain Manager, Dump and Trace Domains
DU, TR and DM domains; Domain Manager (DM); VERBX DFHPD700,'DM=1'; VERBX DFHPD700,'DM=1'; Domain Manager Trace example; Dump domain; Dump domain SIT parameters; System dump table entries; Transaction dump table entries; Dump Domain anchor block; Dump table entries; VERBX DFHPD700,'DU=3'; VERBX DFHPD700,'DU=3'; Trace anchor block; VERBX DFHPD700,'TR=.
Kernel Domain
Kernel domain; Kernel introduction; Finding the Kernel Anchor Block programmatically; Finding the Kernel Anchor via the Prefix Save Area; MVS TCB structure; Program Request Blocks; IPCS TCB summary; Program Status Word (PSW); Breaking Event Address Register (BEAR); CICS TCBs; CICS open TCBs; CICSAPI and OPENAPI; CICS attached TCBs; KEDS CREATE_TCB; Kernel Anchor Block (KCB) and Kernel Task (KTCB); VERBX DFHPD690,'KE=2'; CICS TS V5.2 stat transaction; Kernel domain gate table; Executing a gate call; VERBX DFHPD690,'KE=2'; Kernel Task chains; Kernel Task - dynamic and static; Kernel Task - runaway task processing; Types of loop; Kernel Stack footprints; Kernel Task - stack entry; Kernel Stack chains; VERBX DFHPD690,'KE=2'; Module headers; Kernel Stack summary footprints; VERBX DFHPD690,'KE=1'; Kernel Push Pop; Error processing; Kernel error table; Kernel Task error data; Kernel Task error data summary; VERBX DFHPD690,'KE=2'; CEKL KILL.
Dispatcher Domain
Dispatcher Domain; Dispatcher introduction; Dispatcher chains; Dispatcher double chains; Dispatcher anchor block; VERBX DFHPD690,'DS=2'; Dispatcher Task Area; VERBX DFHPD690,'DS=2'; DSAT gate, attach function; DSAT gate CHANGE_MODE function; "Every so often" actions; Giving up control; Dispatcher post exit routine; DSSR Wait/Suspend processing; Dispatcher open pools; Subdispatcher blocks; Dispatcher TCB block; VERBX DFHPD690,'DS=2'; Dispatcher summary; VERBX DFHPD690,'DS=1'.
Transaction Manager Domain
Transaction Manager; Creating the XMTXN; XMAT processing; Primary client types; VERBX DFHPD690,'TR=1'; Transaction termination; VERBX DFHPD690,'TR=1'; XM anchor block; XMTxn; VERBX DFHPD690,'XM=2'; XM Transclass; VERBX DFHPD690,'XM=2'; VERBX DFHPD690,'XM=1'; XMXD, ADD, SET or INQUIRE TRANSDEF; VERBX DFHPD690,'TR=2'; XMTrandef and static area.
Application Domain
Application domain; AP domain anchor - Common System Area; Optional features list; VERBX DFHPD690,'CSA=2' ; Transaction Control Area; STCA structure; EXEC Interface Block (user & system); VERBX DFHPD690,'AP=1'; VERBX DFHPD690,'AP=2'; LE Dynamic Save Area; LE control blocks; COBOL TGT; VERBX DFHPD690,'AP=2' EXTRACT; VERBX DFHPD690,'AP=2' EXTRACT; Language Environment; LEDATA VERBEXIT; Formatting individual LE structures; CEEROPT; CLER transaction; TERMTHDACT; Storage report; Application program language block; Tuning LE storage automatically; VERBX DFHPD690,'APS=
ENQ Domain
ENQ domain - introduction; Local and sysplex scope; ENQMODEL; UOWENQ; Additional techniques for sysplex ENQs; UOW states; ENQ pools; NQ anchor block; Queue Element Areas; NQEA belonging to second region;
VERBX DFHPD690,'TR=1,TRS=
Loader Domain
The Loader Domain - introduction; LD functions - example; DEFINE_PROGRAM; Public Loader control blocks; LD anchor block; CPE; APE; Program compression; PLIBE control block; Installed Application Element; Application multi-versioning; VERBX DFHPD700,'LD=3,'.
Program Manager
Introduction to the Program Manager; Program Manager anchor block; Program definitions; VERBX DFHPD690,'PG=1'; VERBX DFHPD690,'PG=2'; Logical levels; Program definitions; VERBX DFHPD690,'PG=1'; VERBX DFHPD690,'PG=2'; Program Transactional Area; Program Level Control Block; VERBX DFHPD690,'PG=1' ; VERBX DFHPD690,'PG=2'; Program Environment Save Area; Channels and containers; Channel control blocks; Container pool control block; Container anchor control block; VERBX DFHPD690,'PG=1' ; VERBX DFHPD690,'PG=2'.
Transaction Dumps
Introduction to transaction dumps; Transaction dumps; ASRA TRANSACTION DUMP; Solving the dump; Using the COBOL listing; PESA and PLCB summary; Task Control Area; Using the C listing; using the PLCB/PESA chains to work back to level 1; Program Environment Save Area; Using the PL/I listing.
CICS/Db2 Interface
Using the Db2 control blocks to find SQL statements and solve problems; Introduction to the CICS - Db2 interface; Db2 keyword; Program definitions; B2CONN; VERBX DFHPD690,'DB2=2>'; DB2ENTRY and DB2TRAN; CLOT; VERBX DFHPD690,'DB2=2>'; VERBX DFHPD690,'UEH=2>'; VERBX DFHPD690,'DB2=1'; CSUB; VERBX DFHPD690,'DB2=2'; VERBX DFHPD690,'TR=1'; VERBX DFHPD690,'TR=1'; VERBX DFHPD690,'DB2=2' ; VERBX DFHPD690,'TR=2>''; VERBX DFHPD690,'TR=2'; VERBX DFHPD690,'TR=2' ; VERBX DFHPD690,'TR=2'; VERBX DFHPD690,'TR=1'; VERBX DFHPD690,'TR=2'; VERBX DFHPD690,'TR=2'; Finding the SQL; RDI.