This course covers CICS command level application programming statements and is aimed at:
- programmers who will be coding or maintaining CICS applications.
- Programmers who wish an introduction to on-line processing concepts and commands.
- Anyone who needs CICS Command Level coding expertise.
- Project Managers, System Designers, System Programmers who work in CICS.
- A review of the concepts and commands is given.
- A complete multi-program sample application is included for completion by the delegates. (The application is available COBOL.)
The delegate should be familiar with the z/OS host environment, together with a working knowledge of COBOL program development using TSO / ISPF. Prior attendance of the CICS Introduction course would be useful but not essential.
On completion of this course the student will be able to:
- Code programs with embedded CICS Commands.
- Understand the concepts of on-line processing through CICS.
- Understand the fundamentals of Pseudo-conversational Programming, COMMAREA, and Modified Data Tags (MDT's).
- Code and have a working knowledge of Basic Mapping Support (BMS).
- Understand and code CICS Commands to access VSAM files in CICS.
- Use CICS facilities such as TS, TD, Multitasking, Re-entrancy, etc.
- Code efficient CICS programs.
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.On-site course enquiry (from £165 pp per day)
- We discuss on-line processing, what CICS is.
- Basic terminology is explained including Pseudo-conversational programming (what it is, how we code it).
- Transaction and program concepts are introduced.
- CICS command format syntax is covered in detail.
- (It is assumed that delegates will have prior awareness of CICS see pre-requisites.)
- The workshop VSAM file is created.
- IBM Supplied Transactions
- An overview of the CICS Supplied application Transactions is given.
- CEBR is explained in the context of both Temporary Storage and Transient Data
- CEMT is explained, with its dangers.
- CEDF is used in a hands-on environment.
- CEDX is explained, and used subsequently in the module on Interval Control.
- CECI concepts and capabilities are demonstrated.
- CEDA is explained to aid the creation and modification of resources during the course.
- Exception Handling
- HANDLE CONDITION command, options and techniques.
- The RESP option is presented showing structured programming in CICS.
- Future exception processing trends options and techniques are presented.
- HANDLE AID command.
- Execute Interface Block is explained together with DFHAID.
- Terminal Communication
- Telecommunications concepts and VTAM are introduced. 3270 processing fundamentals are explained.
- Data transmission via maps is presented, and Basic Mapping Support (BMS) to build maps is introduced (map generators are discussed).
- Generating a BMS Map
- Physical Map and DSECT concepts are explained.
- Defining a Mapset, the DFHMSD macro, with its options and defaults.
- Defining a Map, the DFHMDI macro, with its options and defaults.
- Defining a Field, the DFHMDF macro, with its options and defaults.
- The map preparation is discussed
- Program Structure and Control
- Program designed considerations are discussed outlining the balance between performance and ease of maintenance.
- The difference between conversational and Pseudo conversational are discussed and the impact on maintaining the state of the program.
- The role of the Execution Interface Block is discussed
- LINK, LOAD RETURN and XCTL Commands are discussed.
- Sample programs in Assembler, COBOL and PLI are available for review.
- The steps of program preparation are discussed and an exercise performed.
- Map Commands
- The SEND MAP command to output the BMS map with its functions is explained.
- The MAPONLY/DATAONLY concepts to reduce transmission costs are offered.
- The RECEIVE MAP command to input data Pseudo-conversationally.
- DSECT copybook fields are explained in detail. The length, attribute and erased flags along with the input and output data fields are discussed. Extended attributes (color, highlighting etc.) are presented.
- The use of Modified Data Tags (MDT) is discussed.
- File Control
- VSAM file concepts are introduced. CICS/VSAM interaction is explained.
- KSDS/ESDS/RRDS file commands (READ, WRITE etc.) along with their options are explained.
- Record Level locking and simultaneous updating problems are explained.
- Generic DELETE pitfalls are shown.
- File Browsing
- BROWSE functions (forward and backward) are presented.
- The issues relating to browsing via Alternate Index are discussed with working examples
- Temporary Storage
- An overview of Temporary Storage, which will emphasize the scratch pad concept, is presented along with examples.
- The commands and problems with suggested solutions are presented.
- CEBR is explained.
- Future changes in Temporary Storage are explained.
- Transient Data
- INTRAPARTITION and EXTRAPARTITION queues are explained and differences set out.
- The TRIGGER LEVER and REUSE=YES are discussed together with how many companies currently use them.
- How TD queues are created through Destination Control Table entries (DCT) is covered.
- The WRITEQ TD, READQ TD and DELETQ TD commands are explained with examples.
- Interval Control
- INTERVAL and TIME options to commands are explained.
- The need for asynchronous processing (multi-threading) is discussed.
- START, RETRIEVE, DELAY, CANCEL, ASKTIME, FORMATTIME commands are covered.
- START vs. RETURN IMMEDIATE is debated.
- The sample file delete program is completed to produce an audit trail via a TDQ.
- Channels and Containers theory
- Channels and Contains are described
- The methods of creation of Channels and Containers.
- The issues they address and why they might be used.
- Discusses the choice either COMMAREA or CONTAINER.
- The commands that exploit them are discussed.
- Channels and Containers the commands
- Simple GET and PUT commands are described
- Moving Containers between Channels is described.
- Deleting Containers is described.
- The issue of processing a unknown container is addressed via the STARTBROWSE, GETNEXT and ENDBROWSE commands.
- How to obtain the Channel name is discussed.
- Supplementary Exercises
- This module includes a number of additional exercises such as:
- How to use COBOL CALL rather than EXEC CICS LINK.
- Starting a background task.
- How to the CLEAR key
- How to browse a KSDS via its PATH
- How to handle CLEAR at the initial menu
- WEB API Commands and their use (Overview Only)
- Exploiting the WEB 3270 Bridge.
- Design considerations, such as Symbolic Lists, DOCTEMPLATES, and WEB-aware versus 3270:
- The following WEB commands are discussed; EXTRACT, PARSE URL, STARTBROWSE, and READNEXT (in respect of HTTP headers), DOCUMENT CREATE, DOCUMENT INSERT, SEND, RECEIVE, WRITE .
Interactive involving each student. Hands-on and workshop oriented.