METROPOLITAN COMMUNITY COLLEGE

COURSE OUTLINE FORM

COURSE TITLE Introduction to Mainframe and Micro Focus CICS

COURSE PREFIX AND NO. CPT 250 LEC 3.0 LAB 4.5 CREDIT HOURS 4.5

COURSE DESCRIPTION:

This course provides an introduction to developing programs using IBM’s Customer Information Control System (CICS) for the Micro Focus CICS Option environment, with references to the mainframe environment. The student will learn how CICS interfaces with the operating system, how to use the CICS development and operational environments, how to create on-line screen “maps”, and how to create COBOL programs that use the CICS command-level interface.

COURSE PREREQUISITES: CPT 222-COBOL II or instructor permission

RATIONALE:

CICS is used widely for the development of on-line, (pseudo-)conversational application systems, primarily for IBM mainframes and CRT terminals. CICS is also available for AS/400, UNIX, OS/2, and Windows/DOS environments. The most common host-programming-language for CICS application development and maintenance is COBOL. Programmers continue to be needed for this product.

REQUIRED TEXTBOOKS and/or MATERIALS:

Title: CICS/ESA Primer

Edition: First

Author: James G. Janossy & Steve Samuels

Publisher: John Wiley and Sons.

Attached course outline written by Alan R. Reinarz DATE

Division Chairperson DATE

Effective Date Fall 1998

Course Objectives, Topical Unit Outlines, and Unit Objectives must be attached to this form.


COURSE OBJECTIVES:

Upon completion of this course, the student will be able to do the following:

1.  Describe interactive programming, CICS and its major components, and the typical mainframe and Micro Focus environments.

2.  Define important terms and concepts in CICS programming.

3.  Demonstrate the design of CICS programs, using standard techniques.

4.  Demonstrate screen setup using Basic Mapping Support.

5.  Successfully implement CICS applications for file inquiry, file update, file browsing, and menu.

TOPICAL UNIT OUTLINE/UNIT OBJECTIVES:

(Mainframe-specific objectives are shaded thus)

(Micro Focus CICS Option objectives are shaded thus)

Unit I. CICS and Its Place in the World

Upon the completion of this unit of study the student will be able to do the following:

A. Interactive Programming

1. Identify and describe the three classes of computer machinery, and briefly describe each.

2. Identify and explain how interactive programs are different from batch programs.

3. Explain how the intended uses of mainframe CICS and microcomputer CICS emulators differ.

4. Identify and describe the four categories of interactive business computer programming.

5. Identify and describe how client/server architecture differs from traditional interactive system architecture and simple local area networks.

B. Introduction to CICS

1. Explain what an operating system is and does, and identify the three operating systems provided by IBM for its mainframe equipment, and their intended uses.

2. Explain what a teleprocessing monitor such as CICS is, and identify the four services it provides to programs.

3. Describe what job control language (JCL) is and the role it serves in the mainframe environment.

4. Identify the nature of each of the following software products, and briefly explain what each does or is used for:

a. TSO/ISPF

b. Dialog manager

c. CLIST language

d. REXX language

e. CICS

5. Define each of the following terms related to mainframe CICS programming:

a. multiprogramming

b. multitasking

c. multithreading

d. reentrant program

e. quasi-reentrant program

6. Explain the difference between a task and a transaction in the CICS environment.

7. Describe the role played by CICS control tables, and identify who makes changes to them.

8. Describe what the CICS load library is, and identify what it contains.

C. Mainframe Environment & 3270 Terminals

1. Identify and describe the three ways that IBM electronics engineers minimized the processing bottleneck associated with interactive programming from a hardware perspective.

2. Describe how IBM electronic engineers minimized data transmission requirements of interactive programming, to make this processing as responsive as possible.

3. Discuss why IBM’s 3270 terminals provide both a Carriage Return key and an Enter key, while ASCII terminals provide only a Carriage Return key.

4. Identify and describe the role of the Clear key on IBM’s 3270 terminals, in connection with CICS programming.

5. Briefly describe the software technique of pseudo-conversation, and how IBM’s software engineers used it to minimize the processing demands of interactive programming.

D. The “Micro Focus CICS Option” Environment

1. Identify areas of compatibility between Micro Focus CICS Option (MCO) and IBM mainframe CICS.

2. Identify and briefly describe major components of MCO and compare and contrast with IBM mainframe CICS.

3. Identify which elements of the MCO application development cycle depend on which other Micro Focus software.

4. Describe briefly how MCO on-line application components can interact with batch components.

5. Identify and briefly describe the various MCO development interfaces/menus.

6. Demonstrate use of MCO documentation resources.

7. Identify and briefly describe the major areas of MCO (function and) responsibility. Compare and contrast with IBM mainframe CICS.

8. Explain the “region concept” in MCO, and how regions may be used in application development and production. Describe the scope and function of the global and regional configuration and resource definition files (GCF, RCF, GRDF, RRDF).

9. Compare and contrast single-tasking and multi-tasking systems.

10. Briefly describe the various types of MCO resources and their Resource Definitions Tables, off-line and dynamic resource definition, MCO’s two Resource Definition Facilities, and resource groups—including their functions and relationships, and their relationships with Resource Definition Files, CICS systems and regions, and CICS application programs. Compare and contrast with IBM mainframe CICS.

11. Perform the standard MCO Installation Verification Procedure (IVP).

E. Guidelines for CICS Programming

1. Describe the purposes of a data flow diagram (DFD) and its various elements.

2. State the uses of a system structure chart.

3. Describe the eight steps of CICS program development.

4. Describe the contents and function of the minimum recommended components of a program specification.

Unit II. Getting Ready for CICS Application Development

Upon the completion of this unit of study the student will be able to do the following:

A. The “Micro Focus CICS Option” Environment

1. Setting up a region on floppy

2. Creating CICS table entries

B. Coding Screens Using BMS

1. Explain what the data transmission record is, and how it is related to a CICS program.

2. Identify what an attribute byte is, and discuss the role attribute bytes play in CICS screen design and programming.

3. Describe what the modified data tag is, and explain how it affects the transmission of data between a terminal and a CICS program.

4. Explain why two names, mapset name and map name, are associated with the same coded definition of a CICS screen.

5. Code the appropriate ATTRB portion of attribute byte coding for each of the following fields:

a. an enterable alphanumeric field

b. an enterable numeric field

c. a screen label

d. a stopper field

6. Identify and describe the difference in cursor movement when a stopper field is coded ATTRB=(DRK,PROT) and ATTRB=(DRK,ASKIP).

7. Identify the role played by PICIN and PICOUT in BMS map source code, and identify the condition under which a programmer can omit PICIN and PICOUT coding from BMS map source code.

8. Identify the services provided by NUM when a programmer codes it with an enterable numeric field on a screen, and discuss whether or not any nonnumeric characters can be entered into a field coded this way (considering periods and hyphens!).

9. Examine a sketch of the screen to be used by a CICS application and explain why attribute bytes are shown after some numeric fields, but not after other numeric fields.

10. Identify the actual programming language in which BMS map source code is created, and cite at least five specific syntax requirements of this language.

11. Design a screen that meets stated requirements. Code a BMS map to define it.

Enter the BMS map code into a member of a library using TSO/ISPF. Use JCL similar to the CHECKMAP job stream to identify syntax errors in his/her work. Or

Use a text editor to enter the BMS map code into a .bms file and save the file in the src\bms directory of his/her development region. Use the BMS (Basic Mapping Support) Map Processing feature of Micro Focus CICS Option to check his/her BMS map for syntax errors.

Clean up the map to make it entirely free of errors.

C. Physical and Symbolic Maps

1. Identify the three kinds of maps used with CICS programming, and describe the contents and role of each.

2. Identify what software a programmer executes to process his/her BMS map code.

3. Describe how to control what fields are present in the data transmission record?

4. Describe clearly the pattern for the format of fields in the data transmission record.

5. Explain how a CICS program uses a data transmission record.

6. Describe how to tell if the terminal operator entered any data in a field when a program receives a transmission from a terminal and examines the contents of the data transmission record.

7. Explain how to change the value of the attribute byte for a field on the computer screen when a CICS program transmits data to the screen.

8. Explain what the symbolic map is, and identify and describe three ways to get the coding for it.

9. Explain what PICIN and PICOUT in a BMS map code do.

10. Identify where within a CICS program the description of the data transmission record resides, and what two methods exist to arrange for it to be there.

11. (Task A.) Process the BMS map source code the student developed in Unit II.B.11.

Use the MAKESMAP job control language, or similar JCL provided locally. MAKESMAP prints the machine-generated symbolic map resulting from his/her BMS map source code. Or,

Use the BMS Map Processing feature of Micro Focus CICS Option to machine-generate a symbolic map from his/her BMS map source code. Check to see that the .cpy symbolic map file is saved to the src\cpy directory.

Examine the symbolic map produced, and use it to prepare a graphic record layout in standard format. Label each of the fields in the graphic record layout in an appropriate way, including field name, starting position, ending position, length in bytes, and PIC.

12. (Task B.) Make a copy of the student’s BMS map source code, and eliminate PICIN and PICOUT in the copy. Process the modified BMS map source code again.

Use the MAKESMAP JCL. Or,

Use the BMS Map Processing feature of Micro Focus CICS Option.

Compare the machine-generated symbolic map from the first run and this run. Explain the effect of removing PICIN and PICOUT from the coding.

13. (Task C.) Develop a manually coded symbolic map for the student’s screen, using the graphic record layout he/she developed in task A, the machine-generated symbolic map, and an example symbolic map.

14. (Task D.) Process the BMS map source code the student developed in Unit II.B.11.

Use the MAPJOB JCL, or using similar JCL provided locally. Examine the MVS/ESA system reporting from this job. Examine the COND CODEs for each of the three steps in the job. Note: Since MAPJOB creates two new files housing the physical and symbolic maps, student will have to code locally appropriate data set names at the SET statement to house these files. Or,

Use the BMS Map Processing feature of Micro Focus CICS Option. Check for error messages on screen and/or error log. Check to see that the .mod physical map file has been saved to the map\usr directory, and that the .cpy symbolic map file has been saved to the src\cpy directory.

Confirm that the job has successfully created both the physical and symbolic maps for the screen

D. Introduction to CICS Programming

1. Explain why a programmer can omit coding an ENVIRONMENT division in a CICS program. Explain what a programmer does put into it, if he/she does code it.

2. Explain what purpose the coding of a LINKAGE section serves in CICS programs.

3. Explain why coding STOP RUN would serve no useful purpose in a CICS program.

4. Describe the purpose of the MOVEs prior to the SEND MAP command in a typical CICS program, and whether these could be done with BMS map coding instead.

5. Describe LOW-VALUES and its special significance in CICS programming and mainframe data communication.

6. Explain what processing occurs involving the symbolic map and the physical map with the SEND MAP command as coded in a typical CICS program.

7. Explain what purpose is served by the statement
MOVE -1 TO CSM-L-QUANTITY
in the SEND MAP command of a typical CICS program?

8. Explain how to code the SEND MAP command to arrange to position the cursor at the beginning of a specific enterable field when a program transmits the map for the screen to the computer terminal.

9. Explain what roles the MAPONLY and DATAONLY options of the SEND MAP command play, and why they are provided by CICS.

10. Explain why it is necessary to translate a CICS program before compiling it, and describe the five things that the CICS translator does to the program source code.

11. Describe how to determine if a translate, compile, and link of a CICS program actually succeeded before attempting to execute the program under CICS.

12. Describe the difference between program name and transaction identifier (trans-id), and explain how these are established.

13. Describe what action you take to end the execution of a CICS program.

14. Explain what steps you must take to log off from CICS.

15. Explain the need to learn to use the NEWCOPY function of the special CICS service transaction CECI.

16. (Exercise A.) Design a screen for a second application that has specified fields. Develop BMS map code for this screen, either by manual coding or by using a screen painter

such as GENMAP for mainframes, or

the Advanced BMS Screen Painter feature of Micro Focus CICS Option.

Prepare physical and symbolic maps for this screen

Use the MAPJOB JCL, or similar JCL. Or,

Use the BMS Map Processing or Advanced BMS Screen Painter feature of Micro Focus CICS Option.

Then prepare a program similar to an example to present the new screen on a terminal. Use the example as a guide.