- Tel: +44 (0)1275 859666
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
- What Does CICS Do?
- 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
- Writing a BMS Map
- TRANSACTIONS AND TASKS
- Transactions
- Running Many Transactions between Screens
- Starting a CICS Transaction
- Tasks
- Conversational Processing
- Pseudo-Conversational Processing
- Synchronous Tasks
- Asynchronous Tasks
- Running Many Transactions between Screens
- 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)
- The LINK Command
- 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
- Why Change from using the Commarea?
- 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
- The Program Control Table (PCT)
- SUPPLIED TRANSACTIONS
- CEDF - CICS Execution Diagnostic Facility
- CECI - Command Interpreter
- CEMT - Control Transaction
- CEBR - Browsing Temporary Storage
- CECI - Command Interpreter
- 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
- Precompilation
- 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
- Rebind
- 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
- VSAM KSDS Datasets
- 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
- Creating or Updating a Temporary Storage Queue
- BACKOUT AND RECOVERY
- EXEC CICS SYNCPOINT
- EXEC CICS SYNCPOINT ROLLBACK
- 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
- EXEC CICS IGNORE Condition
- ADDITIONAL COMMANDS
- Getmain and Address
- Freemain
- Query Security
- Assign Userid
- ENQ / DEQ
- Send Text
- Freemain
- MULTI REGIONAL OPERATION
- DUMPS AND TRACES
- Transaction Dumps
- EXEC CICS Dump
- Auxiliary Trace
- EXEC CICS Dump
- 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
- IP Address and Port Requirements
- 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
- Message Handlers
- 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
- CICS WEB OPEN Command
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.