IMS Transaction Manager Programming
– IMS TM Programming
(Formerly IMS Data Communications – IMS DC)
Duration: 5 days |
Participants: Application programmers and developers with IMS DB or DB2 database programming experience. |
Objectives:
Upon successful completion of this course you will be able to:
- Code and run programs that access the IMS message queue and process messages in an MFS (Message Format Service) environment. - Code and run IMS DC programs that access IMS or DB2 databases, including the newer HALDB (High Available Large Data Bases), which use partitioning. - Code transaction-oriented as well as batch-oriented BMP (Batch Message Processing) programs. - Code non-conversational (response) and conversational MP (Message Processing) programs with deferred and immediate program switching. - Use BTS (Batch Terminal Simulator) for testing IMS programs. - Describe and use the basic MFS control blocks (DIF, DOF, MID, MOD) for full-screen I/O. For more complete usage of MFS, please attend our IMS MFS course. |
Overview:
This course teaches programmers who are already experienced at developing IMS DB or DB2 applications. We offer two course options:
- IMS TM programs accessing IMS databases. Knowledge of IMS/DB program-ming is required, or - IMS TM programs accessing DB2 databases. Experience coding embedded DB2/SQL is required. Knowledge of IMS DB programming is not required, but relevant chapters from our IMS DB course will need to be added to this course. |
Prerequisites:
- Programming experience in one of the following languages: COBOL, PL/I, or mainframe Assembler. Also experience accessing and updating either IMS or DB2 Databases from within one of these aforementioned languages is required. - Recommended prerequisite courses are "IMS Fundamentals" and "IMS DB & HALDB Application Programming". - If students do not know IMS DB, then relevant IMS programming skills that are covered in our IMS DB course must be added to this course. - Recommend taking the "IMS MFS" course after this course. |
Format:
- Lecture and hands-on computer workshops, using BTS or client's test region. - To accommodate each student's programming back-ground, we provide workshops based on COBOL, HLASM (mainframe Assembler), and PL/I. - This course focuses on the CALL DLI form of IMS. If your installation is using the EXEC DLI form, we can develop such a course for you. Please call for information. |
Topic Outline:
- Networks Concept Physical components (overview) Message flow and terminology - IMS Facilities and Environment Regions and address spaces Batch BMP (Batch Message Processing) Fast Path MP (Message Processing) Extension of the operating system Relationship to DB2 - Terminals Logical - LTERMs Physical - PTERMs Terminal and password security Message scheduling and priority - Messages Input Transaction LTERM Command Output Transaction LTERM Message segments vs messages Transaction processing flow - IMS Database and Telecommunications Definitions Review of DBDGEN PSBGEN Database PCB Terminal PCB Transaction PCB Modifiable PCB ACBGEN - Database Programming Statements and Logic - Review Examples for COBOL, PL/1 and HLASM (mainframe Assembler) Entry, CALL, Functions, I/O area, SSAs Status code analysis Reading and interpreting PSBGENs PCB masks Linkage section and using, DSECT and USING Based variables and pointers Logic to access databases (get, insert, delete and replace calls) - Non-Conversational MP Program Logic and Coding Entry CALL to retrieve a message from the message queue CALL to insert a message to the message queue Analysis of status codes Functions Areas Status code testing PCB masks PCB - not in PSBGEN Alternate PCBs (PTERM, transaction, modifiable) DB PCBs MFS PCBs Message layout in input buffer and output buffer Commits Initiating a transaction Program logic for non-conversational TP transactions - Using BTS (Batch Terminal Simulator) Concept JCL and control statements Reading the output - IMS Teleprocessing Facilities Common service and logging facility Scheduler Buffers Input and output message queues Telecommunications Dynamic Log SPA (Scratch Pad Area) - concept - Introduction to MFS (Message Format Service) Concept Control blocks and libraries DIF, DOF, MID, MOD MSF in BTS vs. MFS in an online environment - IMS Programs that Use and Interact with MFS (Message Format Service) Concept Introduction to Dynamic Attribute Modification Introduction to Cursor modification Introduction to System Control Area (SCA) - Conversational MP Program Logic and Coding SPA (Scratch Pad Area) Types, locations, and restrictions Coding and using a SPA in your program CALL to retrieve a message from the message queue CALL to retrieve the SPA CALL to insert a message to the message queue CALL to insert the SPA Analysis of status codes Reusable code Complex conversational logic Programming logic Deferred program switch Immediate program switch Switching conversations to other MP and BMP programs Commits Initiating, terminating, and holding a conversational transaction Considerations for IMS DB processing in an online environment Considerations for DB2 DB processing in an online environment - Impact of HALDB on IMS DB/DC Programs Status codes Secondary indexes Testing Efficiencies - BMP (Batch Message Processing) Concepts and types of BMP programs GSAM Checkpoint, restart - Additional Topics Modifying a modifiable alternate PCB (CHNG calls) Writing to the log PURGE CALL - Concept and Cautions Program isolation Express= Q command code - enq/deq facility PCB options (E, O, P, N, T) Backing out database changes - ROLB and ROLL DB2 processing (Optional) - Reliability Features Commits (synchronization points) Basic and symbolic checkpoint/restart Back-out changes Log tapes, change accumulation Backup, image copy |
|