GT04 - CICS Transaction Server for Programmers - 5 Days

Course Description

This course provides the applications programmer with an in-depth knowledge of the CICS development process. It is aimed at programmers who need to code or support CICS application programs written in COBOL or PL1 that access both VSAM Files and DB2 Databases.


Pre-requisites

The delegate should be familiar with the z/OS host environment, together with a working knowledge of either COBOL or PL/I program development using TSO / ISPF.


Objectives

The aim of this course is to provide the programmer, unfamiliar with CICS, with the necessary skills required to design, write, code and test both CICS programs and BMS Maps.

On completion of this course the student will be able to:

  • describe the functions of a BMS Map
  • design, create, build and test a BMS Map
  • design and write a CICS program in either COBOL or PL1
  • use common CICS supplied transactions to view and maintain CICS resources
  • define resources to CICS using CEDA
  • access VSAM files from CICS programs
  • access DB2 Databases from CICS programs
  • use DB2 cursors
  • use DB2 timestamps to check data integrity
  • DB2 Plan / Package design using CICS programs - RCT
  • describe and use CICS Temporary Storage
  • describe and use CICS Transient Data
  • code exceptional condition testing
  • code programs which handle database backout and recovery
  • understand the concepts of Multi-Regional Operation
  • understand the concepts of WebSphere MQ and CICS interaction
  • use the COMMAREA or CHANNELS and CONTAINERS to pass data
  • understand CICS Web Support
  • understand CICS Web Services
  • understand CICS Web Requests


Customisation

For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.


Course Details

INTRODUCTION
CICS Overview
What Does CICS Do?
The Operating System and CICS
Sharing Resources
Talking to Terminals
Online Programs
On-Line/Batch Comparisons
CICS Recovery
The CICS Pre-Processor (Translator)
Starting CICS

SCREEN HANDLING
Basic Mapping Support (BMS)
Writing a BMS Map
The BMS Symbolic Descriptor Map
Sending a BMS Map
Receiving a BMS Map
DFHMSD - Map Set Definition
DFHMDI - Map Description Init
DFHMDF - Map Description Field
Testing the User Response
Dynamic Attributes
Send Text
Screen Development Using SDF II
Creating a Map
Adding a Map to a Mapset (optional)
Map Generation

TRANSACTIONS AND TASKS
Transactions
Running Many Transactions between Screens
Starting a CICS Transaction
Tasks
Conversational Processing
Pseudo-Conversational Processing
Synchronous Tasks
Asynchronous Tasks

PROGRAM CONTROL
Passing Data between Programs - The COMMAREA
The LINK Command
The XCTL Command
The RETURN Command
The START Command
The RETRIEVE Command
CICS Exec Interface Block (EIB)

CONTAINERS AND CHANNELS
Commarea History
Why Change from using the Commarea?
Container and Channel Advantages
What are Containers and Channels?
Creating Containers and Channels
Reading Containers and Channels
Sending and Receiving Example
Container and Channel Rules
The Current Channel
Browsing All Container Names in a Channel
Summary Of Channel Commands
Migrating From Commarea To Channels and Containers

CICS TABLES
CICS Tables
The Program Control Table (PCT)
The Processing Program Table (PPT)
The File Control Table (FCT)
The Resource Control Table (RCT)
Resource Definition On-Line (RDO)
RDO Diagram
CEDA Commands

SUPPLIED TRANSACTIONS
CEDF - CICS Execution Diagnostic Facility
CECI - Command Interpreter
CEMT - Control Transaction
CEBR - Browsing Temporary Storage

DB2 APPLICATION PROGRAMMING
Development Cycle With DB2
Precompilation
DBRMxxs
DCLGENs
Plans
Packages
SQL Statement Format - COBOL
SQL Statement Format - PL/1
SQL Statement Format - C
Table Declaration
SQL Statements Used in Application Programs
SQL INCLUDE
SQL Communication Area
Decoding The Sqlca in a Program
Retrieving Data Into Host Variables
Ambiguous Host Variables
SQL Error Codes
Singleton Selects
Cursors
Using a Cursor To Retrieve a Result Set
Declare Cursor
Open Cursor
Fetch a Row
Row Update
Row Deletion
Close Cursor
With Hold Option
The Optimize Statement
Fetch First xxnxx Rows Only Clause
Fetch First vs Optimize for
Handling Nulls
Retrieving System Registers
Updating in CICS
Timestamp Checking

PLANS AND PACKAGES
Bind
Rebind
Plans and Packages
Advantages of Using Packages
Binding Packages
Binding Plans
Defaults for Binding
Binding in Batch
Identifying a Collection Within a Program
Program Execution in Batch
Plan Names in CICS

VSAM DATASETS
Types of VSAM Dataset
VSAM KSDS Datasets
Reading a VSAM KSDS
Writing a VSAM KSDS
Deleting a VSAM KSDS
Updating a VSAM KSDS
Unlocking a VSAM KSDS
Browsing a File
Batch and On-Line File Access

SCRATCHPAD FACILITIES
CICS Temporary Storage
Creating or Updating a Temporary Storage Queue
Reading a Temporary Storage Queue
Deleting a Temporary Storage Queue
Queue Naming Conventions
CICS Transient Data
Intrapartition Transient Data
Extrapartition Transient Data
Transient Data Access

BACKOUT AND RECOVERY
EXEC CICS SYNCPOINT
EXEC CICS SYNCPOINT ROLLBACK

EXCEPTIONAL CONDITIONS
EXEC CICS HANDLE Condition
EXEC CICS IGNORE Condition
The NOHANDLE Option
EXEC CICS Handle ABEND
The RESP Option
Forcing a Program ABEND
CICS Response Codes

ADDITIONAL COMMANDS
Getmain and Address
Freemain
Query Security
Assign Userid
ENQ / DEQ
Send Text

MULTI REGIONAL OPERATION

DUMPS AND TRACES
Transaction Dumps
EXEC CICS Dump
Auxiliary Trace

INTRODUCING CICS WEB SUPPORT
Servicing HTTP Requests
IP Address and Port Requirements
Specifying CICS Services to be Called
CICS Request Flow
CICS TS for z/OS Analyzer program
3270 Bridge
CICS Program and Resource Security
Business Logic Interface
CICS WEB Commands

CICS WEB SERVICES
SOAP Server Processing on z/OS
Message Handlers
CICS GET and PUT CONTAINER Commands
CICS SOAP Message Handler
JSON Web Service Requests
JSON RESTful Services
Atom Feeds

CICS WEB REQUESTS
HTTP Request Walkthrough
CICS WEB OPEN Command
Managing HTTP Headers and Body
CICS WEB CONVERSE Command
Pipelining Requests
Sending JSON Requests
DFHJSON Program
CICS SOAP Facilities
DFHPIRT Program


Course Format

The course contains many practical exercises to ensure familiarity with the product. Students create CICS programs which capture data via BMS Maps, accessing data held in VSAM Files, DB2 Tables and Temporary Storage Queues. On completion of this course students will be ready to start the development of CICS / DB2 / VSAM application programs.

The comprehensive Student Guide supplied is fully indexed serving as a useful reference tool long after the course has finished. Delegates will also be able to access a free help-line with technical questions relating to topics covered on the course.


Course Enquiry