1 cics (customer information control system). 2 table of contents introduction to cics basic mapping...
TRANSCRIPT
![Page 1: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/1.jpg)
1
CICS(Customer Information Control System) CICS(Customer Information Control System)
![Page 2: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/2.jpg)
2
Table of ContentsTable of Contents
• Introduction to CICS• Basic Mapping Support• Program Control• File Processing• Error Handling• Queues• Interval and Task Control• Recovery and Restart• Program preparation• CICS Supplied Transactions• Case Study
![Page 3: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/3.jpg)
3
Introduction to CICSIntroduction to CICS
• Customer Information Control System -CICS developed in late 1960s as a DB/DC control system
• CICS provides an interface between the Operating System and application programs
• Macro Level CICS - initial version Assembler macro to request CICS services
• Command Level CICS - high level lang.version - commands to request CICS services - Single command can replace series of macros
![Page 4: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/4.jpg)
4
Batch & Online : DifferencesBatch & Online : Differences
BATCH SYSTEM1. Input data is prepared and
given in sequence (file)2. Processing sequence is
predictable and hence restarting the process in case of failure is easy.
3. Programs and files can’t be shared
4. Programs are scheduled through jobs
5. O/P printed on paper or in sequential of VSAM or Indexed files
6. Response time: Could be scheduled to be Hours or days
ONLINE SYSTEM1. Data is entered as needed not
in sequence (terminal)2. Since processing sequence is
unpredictable, special recovery/restart proc. is required in case of failure
3. Programs and files can be shared
4. Transaction can be run at any time
5. O/p displayed on Terminal updated files
6. Response Time: Could be in minutes or second. Usually in seconds
![Page 5: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/5.jpg)
5
CICS & Operating System CICS & Operating System
Operating SystemOperating System
CICSCICS
User’sApp.
Files &Database
Enter Code :
![Page 6: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/6.jpg)
6
DB/DC System DB/DC System
Terminals
Central System
Data Base
CICS System Environment & API routines, and Application Programs
![Page 7: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/7.jpg)
7
CICS System ServicesCICS System Services
• Data-Communication Functions
• Data-Handling Functions
• Application Program Services
• System Services
• Monitoring Functions
![Page 8: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/8.jpg)
8
• Task :- A basic unit of work which is scheduled by the
operating system or CICS
Ex -Read from and write to the terminal
• Transaction :- An entity which initiates execution of a task. In CICS, transaction is identified by the transaction identifier (Trans-id)
Task & TransactionTask & Transaction
![Page 9: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/9.jpg)
9
Application Programming ConceptsApplication Programming Concepts
• Pseudo-Conversational
• Multitasking
• Multithreading
• Quasi-Reentrancy
![Page 10: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/10.jpg)
10
• Conversational : A mode of dialogue between program and terminal based on a combination of sending message and receiving message within the same task– Since human response is slower than the CPU speed, a
significant amount of resource will be wasted just waiting
• Pseudo-Conversational. A mode of dialogue between program and terminal which appears to the operator as a continuous conversation but which is actually carried by a series of tasks
Terminal ConversationTerminal Conversation
![Page 11: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/11.jpg)
11
PROCEDURE DIVISION.: FIRST-PROCESS.
EXEC CICS RECEIVE ---- <= TSK1,12345END-EXEC.: processEXEC CICS SEND ----- <= EMP(12345) DetailsEND-EXEC.
* - - - - - - Program Waits For Response - - - - - SECOND PROCESS.
EXEC CICS RECEIVE ----- <= User Enters DataEND-EXEC.: process
Terminal Conversation ExampleTerminal Conversation Example
![Page 12: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/12.jpg)
12
Transaction TSK1Program PROG1
PROCEDURE DIVISION. :
EXEC CICS RECEIVE END-EXEC.
:EXEC CICS SEND END-EXEC.EXEC CICS RETURN
TRANSID (‘TSK2’)END-EXEC.
Transaction TSK2Program PROG2
PROCEDURE DIVISION. :
EXEC CICS RECEIVE
END-EXEC. :
EXEC CICS SEND
END-EXEC.EXEC CICS RETURNEND-EXEC.
Pseudo-Conversation ExamplePseudo-Conversation Example
![Page 13: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/13.jpg)
13
• Control Programs (or Management Modules)
Programs that interface between OS and app. pgm
Handle the general functions that are crucial to operation of
CICS• Control Tables
Define the CICS environment
Functionally associated with the management module• Control Blocks (or Areas)
Contain system type information. Eg. Task Control Area
contains information about the task
CICS ComponentsCICS Components
![Page 14: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/14.jpg)
14
• ProgramsProgram Control PCPFile control FCPTerminal Control TCPTask Control KCPTemporary Storage TSPTransient Data TDPStorage Control SCP Interval Control ICPJournal Control JCP
• Tables
Processing Program Table PPTFile Control Table FCTTerminal Control Table TCTProgram Control Table PCTTemp. Storage Table TSTDestin. Control Table DCT
Mangement Pgms & Ctrl TablesMangement Pgms & Ctrl Tables
![Page 15: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/15.jpg)
15
CICS Program ConsiderationsCICS Program Considerations
Considerations:
• Must eventually return control to CICS
• Can’t modify procedure division instructions because CICS programs may be shared by many tasks
• Can modify working storage since a unique copy of working storage is created for each task
![Page 16: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/16.jpg)
16
CICS Program RestrictionsCICS Program Restrictions
Restrictions:• No CONFIG. SECTION, I/O SECTION to be specified in the
ENVIRONMENT DIVISION.
• FILE SECTION, OPEN, CLOSE, and non-CICS READ & WRITE statements are not permitted because file management is handled by CICS.
• COBOL commands such as ACCEPT, DISPLAY, EXHIBIT, TRACE, STOP RUN, GOBACK are avoided. (STOP RUN & GOBACK are sometimes included in order to eliminate compiler diagnostic but never executed)
![Page 17: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/17.jpg)
17
Sample CICS ProgramSample CICS Program
IDENTIFICATION DIVISION.PROGRAM-ID. SAMPLE.ENVIRONMENT DIVISION.DATA DIVISION.WORKING-STORAGE SECTION.01 WS-INPUT.
05 WS-TRANSID PIC X(4).05 FILLER PIC X(1).05 WS-IN-EMP-CD PIC X(4) VALUE ALL ‘X’.
![Page 18: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/18.jpg)
18
Sample Program (Contd..)Sample Program (Contd..)
01 WS-OUTPUT. 05 FILLER PIC X(16) VALUE ‘EMP CODE : ‘. 05 WS-OUT-EMP-CD PIC X(4).01 WS-LENGTH PIC S9(4) COMP.LINKAGE SECTION.
CAN Include DFHCOMMAREA if data needs to be communicated between two transactions or multiple iterations of the same transaction.PROCEDURE DIVISION.000-MAINLINE.
PERFORM 100-RECV-INPUT. PERFORM 200-SEND-OUTPUT. EXEC CICS RETURN END-EXEC.
![Page 19: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/19.jpg)
19
100-RECV-INPUT. MOVE 9 TO WS-LENGTH. EXEC CICS RECEIVE INTO (WS-INPUT) LENGTH (WS-LENGTH) END-EXEC.
MOVE WS-IN-EMP-CODE TO WS-OUT-EMP-CODE200-SEND-OUTPUT. EXEC CICS SEND FROM (WS-OUTPUT) LENGTH (20)
ERASE END-EXEC.
Sample Program (Contd..)Sample Program (Contd..)
![Page 20: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/20.jpg)
20
The CICS translator converts CICS commands into the COBOL
code so that it could be compiled by a Standard Cobol compiler
CICS program with CICS Commands
CICS Translator
COBOL Statements
CICS TranslatorCICS Translator
![Page 21: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/21.jpg)
21
• When you compile a CICS/VS program the translator will automatically add many lines of code to your program, which can be seen in the compiled listing
TranslatorTranslator
![Page 22: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/22.jpg)
22
Basic Mapping Support Basic Mapping Support
![Page 23: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/23.jpg)
23
Topics in BMSTopics in BMS
• Introduction to BMS
• Map and Mapset
• Physical and Symbolic Map
• Map Definition Macros
• Screen Manipulation/Handling
• Screen Design Considerations
• Interfacing with Terminal using a Map
![Page 24: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/24.jpg)
24
Introduction to BMS Introduction to BMS
Introductory conceptsIn online systems, formatted screens are used. In order to display formatted screen, a terminal (e.g. 3278) must receive a series of data stream called Native Mode Data Stream (NMDS) based on the hardware protocol; this NMDS is a mixture of Buffer Control Characters (BCCs) and text data. NMDS is designed for a particular terminal and is thus both device dependent and format dependent. So if NMDS is used, re-coding is required whenever there is change in the terminal device or screen format. To remove this device and format dependency from application program, CICS provides a facility called Basic Mapping Support (BMS).
![Page 25: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/25.jpg)
25
• Removal of device dependent codes from Application Program• Removal of constant information from Application program
(Headers, Titles...)• Construct NMDS - Native Mode Data Stream• Text handling• Terminal Paging & Message routing• Contents of the screen defined thru’ BMS is called Map.• Map is a program written in assembly language.• BMS macros are available for Map coding.
The BMS Macros are coded in the form of Maps, and Mapsets to define the screen attributes, screen field positions, and field characteristics.
Primary Functions of BMSPrimary Functions of BMS
![Page 26: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/26.jpg)
26
Map and Mapset Map and Mapset
• Representation of one screen format is called Map (screen
panel).
• One or more maps, link edited together, makes up a Mapset
(load module).
• Mapset must have a entry in PPT as given below:
DFHPPT TYPE=ENTRY,MAPSET=nameOr DFHPPT TYPE=ENTRY,PROGRAM=name
![Page 27: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/27.jpg)
27
• Mapset name has two parts.
– Generic name 1- 7 chars. Used in App. Program.
– Suffix 1 char. To identify the device type
• Multimap Panel
• Dynamically constructing a screen panel with multiple maps at
the execution time
Map and Mapset (Contd..) Map and Mapset (Contd..)
![Page 28: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/28.jpg)
28
The concepts of map and mapset can be utilized in two type of cases as given below:
Case 1: A mapset consist of a single map. For e.g.MAPSET1 MAPNUM1
Case 2: A mapset consists of several maps. For e.g.MAPSET2 MAPNUM1
MAPNUM2
Map and Mapset (Contd..) Map and Mapset (Contd..)
![Page 29: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/29.jpg)
29
Types of MAPSTypes of MAPS
There are 2 types of MAPS• Physical Map
Physical Map is a map used by CICS (CSECT)
Ensure device independence in the application program
BMS macro coding ==> Assembly==> Link edit ==> Load module ==> LOADLIB ===> To be used by CICS
• Symbolic Map
Ensure device and format independence in the application program
Symbolic Map is a map used by Application Program (DSECT)
BMS macro coding ==> Assembly ==> Symbolic map definition ==> COPYLIB ==> Copied (COPY) into CICS application program.
![Page 30: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/30.jpg)
30
01 EMPRECI. 02 FILLER PIC X(12). 02 EMPNAL PIC S9(4) COMP. 02 EMPNAF PIC X. 02 FILLER REDEFINES EMPNAF. 03 EMPNAA PIC X. 02 EMPNAI PIC X(21). 01 EMPRECO REDEFINES EMPRECI. 02 FILLER PIC X(12). 02 FILLER PIC X(03). 02 EMPNAO PIC X(21).
Example – Symbolic Map Example – Symbolic Map
![Page 31: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/31.jpg)
31
Physical & Symbolic Map - Logic FlowPhysical & Symbolic Map - Logic Flow
BMSsource
Assembler
Physical MAP
Linkage editorSymbolic MAP
Load module (MVS)
![Page 32: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/32.jpg)
32
Physical Map.• The BMS macros are assembled and link-edited into CICS load
library to create the physical map. The mapset like any other CICS program is stored in CICS runtime library the PPT(Program Processing Table). At the program execution time the physical map is being used by CICS to load the screen image.
• In case of input operations, the physical map defines the maximum length, the starting position for each field to be read and allows BMS to interpret an input NMDS.
• In case of output operations, the physical map defines the starting position, length, field characteristics and the default data for each field and allows BMS to construct an output NMDS.
Physical MapPhysical Map
![Page 33: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/33.jpg)
33
• The symbolic map is coded using the BMS macro, assembled separately and catalogued into a copy library. The symbolic map serves as a DSECT for referencing the Terminal Input/Output Area (TIOA). The program issues a COBOL COPY statement to include it in the program.
• The symbolic maps represents the actual data structure of the fields defined in the physical map, and is used by the application program to send and receive information from the terminal, in the CICS SEND-MAP & RECEIVE MAP commands.
• The symbolic map can be used by the CICS application programs to dynamically to alter the field attributes, modify screen cursor position, and highlight , protect , unprotect specific fields on the screen.
Symbolic Map Symbolic Map
![Page 34: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/34.jpg)
34
Map definition MacrosMap definition Macros
General FormatColumn Number1 16 72setname operation operands contd.ExampleEMPMAP DFHMSD TYPE=MAP, X
MODE=INOUT, XLANG=COBOL, XSTORAGE=AUTO, XTIOAPFX=YES
** ANY COMMENTS
![Page 35: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/35.jpg)
35
Explanations:
SETNAME : Name of the mapset. Used in CICS command to read or write one of the maps in the mapset. It is the load module name.
OPERATION : Macro identifier. Mapset/Map/Field definition.
OPERANDS : Optional key words (parameters) separated by comma.
CONTD : Current line can be continued by leaving this column non-blank (usually X) and the next
line have to be started in 16th column. Comments : ‘*’ in column 1 makes the line comment.
Map definition Macros (Contd..)Map definition Macros (Contd..)
![Page 36: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/36.jpg)
36
INITIAL VALUES : Always surround initial values by single quote marks
Escape Chars : ‘ and &
Map definition Macros (Contd..)Map definition Macros (Contd..)
![Page 37: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/37.jpg)
37
Order of MacrosOrder of Macros
DFHMSD TYPE=DSECT Mapset DFHMDI MapDFHMDF A fieldDFHMDF A field :DFHMDI MapDFHMDF A fieldDFHMDF A field: DFHMSD TYPE=FINAL MapsetEND
![Page 38: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/38.jpg)
38
DFHMSD MacroDFHMSD Macro
The DFHMSD macro is used to define a mapset (TYPE=MAP) and its characteristics or to end a mapset definition (TYPE=FINAL). Only one mapset is allowed in one assembly run. All the maps in a map set get assembled together, and they're loaded together at execution time.
Example:TSTMSET DFHMSD TYPE=&SYSPARM, X MODE=INOUT, X LANG=COBOL,
XSTORAGE=AUTO, XTIOAPFX=YES,
XCNTL=(FREEKB,FRSET,PRINT)
![Page 39: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/39.jpg)
39
Options TYPE= To define the map type
DSECT For symbolic mapMAP For physical map&SYSPARM For special assembly procedureFINAL To indicate the end of a mapset coding
MODE= To indicate input/output operations
IN For an input map onlyOUT For an output map onlyINOUT For maps involving both input and output.
DFHMSD Macro (Contd..)DFHMSD Macro (Contd..)
![Page 40: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/40.jpg)
40
STORAGE = AUTO To acquire a separate symbolic map area for
each mapsetBASE To have the same storage base for the
symbolic maps of from more than one mapset
TIOAPFX=YES To reserve the prefix space (12 bytes) for
BMScommands to access TIOA properly.
Required for the CICS command level.
DFHMSD Macro (Contd..)DFHMSD Macro (Contd..)
![Page 41: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/41.jpg)
41
CNTL= To define the device control requests FREEKB To unlock the keyboard FRSET To reset MDT to zero status ALARM To set an alarm at screen display time PRINT To indicate the mapset to be sent to
the printer
TERM=type This ensures device independence, required if other than 3270 terminal is being used
SUFFIX=nn To specify the user provided suffix number. This must correspond to the TCT
parameter.
DFHMSD Macro (Contd..)DFHMSD Macro (Contd..)
![Page 42: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/42.jpg)
42
DFHMDI MacroDFHMDI Macro
Defines a map and its characteristics Example
EMPMAP DFHMDI SIZE=(ll,cc), XLINE=nn, XCOLUMN=mm,XJUSTIFY=LEFT/RIGHT
Options SIZE=(ll,cc) To define the size of the map by the line size (ll)
and the column size (cc). Useful when the screen contains.
LINE Indicates the starting line number of the map. COLUMN Indicates the starting column number of the map. JUSTIFY To specify the entire map (map fields) is to be left or
right justified.
![Page 43: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/43.jpg)
43
The DFHMDF macro is used to define a field in a map and its characteristics. This is the position on the screen where the field should appear. It's the position relative to the beginning of the map. Field starts with its attribute byte, so if POS=(1,1) is coded, then the attribute byte for that field is on line 1 in column 1, and the actual data starts in column 2. The length of the field (not counting the attribute byte) is specified. Literals can be specified within quotes; these character data is for an output field. It is used to define labels and titles for the screen and keep them independent of the program.
DFHMDF MacroDFHMDF Macro
![Page 44: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/44.jpg)
44
Sample Screen layout
The above defines the screen layout as given below:
Where
‘&’ Is the Attribute character‘n’ Is unprotected numeric ‘_‘ Is Cursor
ITEM NUMBER :&nnnnnnnn
![Page 45: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/45.jpg)
45
DFHMDF Macro For The Above Layout
Define a field and its characteristics
Example
DFHMDF POS(ll,cc), X
INITIAL=‘Customer No. :’, X
ATTRB=ASKIP, X
LENGTH=14
CUSTNO DFHMDF POS=(ll,cc), X
ATTRB=(UNPROT,NUM,FSET,IC), X
JUSTIFY=RIGHT, X
PICIN=‘9(8)’, X
PICOUT=‘9(8)’, X
LENGTH=8
![Page 46: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/46.jpg)
46
Attribute characterAttribute character
Function:The attribute character is an invisible 1-byte character, which precedes a screen field and determines the characteristics of a field.
ASKIP Autoskip. Data cannot be entered in this field. The cursor skips to the next field.
PROT Protected field. Data cannot be entered into this field. If data is entered, it will cause the input-inhibit status.
UNPROT Unprotected field. Data can be entered and this is used for all input fields.
NUM Numeric field. Only numbers (0 to 9) and special characters (“.” and “-“) are allowed.
![Page 47: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/47.jpg)
47
Attribute character (Contd..)
BRT Bright display of a field (highlight).
NORM Normal display.
DRK Dark display.
IC Insert cursor. The cursor will be positioned in this field. In case, IC is specified more than once, the cursor is
placed in the last field.
FSET Field set. MDT is set on so that the field data is to be sent from the terminal to the host computer regardless of whether the field is actually modified by the user.
![Page 48: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/48.jpg)
48
Modified Data TagModified Data Tag
Function:Modified Data Tag (MDT) is a one bit of the attribute character. If it is off (0), it indicates that the terminal operator has not modified the field. If it is on (1), it indicates that the operator has modified this field. Only when MDT is on, the data of the field will be sent by the terminal hardware to the host computer. An effective use of MDT drastically reduces the amount of data traffic in the communication line and thus improves performance.
Three ways of setting and resetting the MDT. 1. Terminal user modifies a field on the screen, it is
automatically set to “1” (on) by the terminal hardware.
![Page 49: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/49.jpg)
49
Modified Data Tag (Contd..)
2. If CNTL=FRSET is specified in the DFHMSD or DFHMDI macro, when the mapset or the map is sent to the
terminal, MDT will be reset to “0” (off) i.e. not modified for all the fields of the mapset or the map.
3. If FSET is specified in the ATTRB parameter of the DFHMDF macro for a field, when the map is sent to the terminal, MDT will be set to “1”. (on i.e. modified) for the field regardless of whether the field has been modified by the terminal user.
![Page 50: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/50.jpg)
50
Skipper TechniqueSkipper Technique
• Unlabelled 1-byte field with the autoskip attribute
• DFHMDF POS(ll,cc),ATTRB=ASKIP,LENGTH=1• To skip the cursor to the next unprotected field after one
unprotected field.• Screen Layout :
&xxxxx&$ &xx
where
$ Skipper field
& Attribute byte
X Unprotected field
![Page 51: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/51.jpg)
51
Stopper TechniqueStopper Technique
• Unlabelled 1-byte field with the protect attribute
• DFHMDF POS(ll,cc),ATTRB=PROT,LENGTH=1• To stop the cursor in order to prevent erroneous field overflow by
terminal user.• Screen Layout :
&xxxxx&$#&$
where
# Stopper field
![Page 52: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/52.jpg)
52
Format Of the Symbolic Map
Format of Symbolic Map• Once the symbolic map is assembled and is placed in the
COPY library, the COBOL COPY statement can be used to include it in the application program.
• The symbolic map starts with the 01 level definition of the map name specified in the DFHMDI macro with the suffix ‘I’ for the input map and the suffix ‘O’ for the output map.
• Next is the definition of FILLER PIC X(12), which is the TIOA prefix created by the TIOAPFX=YES of the DFHMSD macro; this is required by the BMS under the CICS command level.
![Page 53: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/53.jpg)
53
Format Of the Symbolic Map (Contd..)
For each field name (1 to 7 characters) specified in the DFHMDF macro, BMS creates three fields for inputs and three fields for outputs, by placing one character suffix to the original field name. The meaning of these fields are given below: • Name + L: The half-word binary (PIC S9(4) COMP)
field. For the input field, the actual number of characters typed in the field will be placed by the BMS when the map is received. For the output field, this is used for the dynamic cursor positioning.
![Page 54: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/54.jpg)
54
Format Of the Symbolic Map (Contd..)
• Name + F: Flag Byte. For the input field, it will be X’80’ if the field has been modified but no data is sent (i.e. the field has been cleared). Otherwise this field is X’00’.
• Name + A: The Attribute byte for both input and output fields.
• Name + I: The input data field. X’00’ will be placed if no data is entered. Note that space X’40’ is data. The application program should differentiate X’00’ from space (X’40’).
• Name + O: The output data field.
![Page 55: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/55.jpg)
55
Example Of Symbolic MapExample Of Symbolic Map
01 EMPRECI. 02 FILLER PIC X(12). 02 EMPNAL PIC S9(4) COMP. 02 EMPNAF PIC X. 02 FILLER REDEFINES EMPNAF. 03 EMPNAA PIC X. 02 EMPNAI PIC X(21). 01 EMPRECO REDEFINES EMPRECI. 02 FILLER PIC X(12). 02 FILLER PIC X(03). 02 EMPNAO PIC X(21).
![Page 56: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/56.jpg)
56
Cursor Positioning TechniquesCursor Positioning Techniques
CICS provides multiple ways of to specify where to position the cursor on the screen. The cursor positioning is important to prompt an user of an entry he has to make, or to point to an error which has occurred during editing the user entries.
• Static positioning (Achieved thru Map definition ATTRIB=IC).
Example : DFHMDF
POS=(5,8),ATTRB=(UNPROT,FSET,IC),LENGTH=10
![Page 57: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/57.jpg)
57
Cursor Positioning Techniques (Contd..)• Dynamic/Symbolic Positioning.
The cursor is placed dynamically through an application program by moving -1 to the symbolic map field-length field (i.e. fieldname + L) for the field where the cursor is to be placed. The SEND MAP command must be issued with the CURSOR option (without value). Also, the mapset should be coded with MODE=INOUT in the DFHMSD macro. This approach is very useful when the cursor is to be placed at the field where data entry error has been detected by the data edit routine.
![Page 58: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/58.jpg)
58
Cursor Positioning Techniques (Contd..)
Example Of Dynamic Cursor Positioning.
WORKING-STORAGE SECTION.:
COPY MAPSET101 MAPSET1I
05 FILLER PIC X(6).05 FIELD1L PIC X(5).05 FIELD1F PIC X.05 FIELD1I PIC X.
![Page 59: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/59.jpg)
59
Cursor Positioning Techniques (Contd..)
PROCEDURE DIVISION.: MOVE –1 TO FIELDL.
EXEC CICS SEND MAP(‘MAP1’) MAPSET(‘MAPSET1’)
CURSORERASE
END-EXEC.The cursor will be placed at FIELD1 field of the map during execution.
![Page 60: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/60.jpg)
60
Cursor Positioning Techniques (Contd..)
Dynamic/Relative Positioning (application program)
The cursor is placed dynamically through an application program using the CURSOR(data-value) option in the SEND MAP command with the value of the relative position (starting from zero) of the terminal. At the completion of the SEND MAP command, the map will be displayed with the cursor placed at the specified position, overriding the static cursor position defined at the map definition time.
![Page 61: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/61.jpg)
61
Cursor Positioning Techniques (Contd..)
Example EXEC CICS SEND MAP(‘MAP1’)MAPSET(‘MAPSET1’)CURSOR(100)ERASE
END-EXEC.
The cursor will be placed at FIELD1 field of the map MAP1 during execution.
![Page 62: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/62.jpg)
62
Interfacing with a Terminal using a Map
The BMS maps are used in the application programs for the actual terminal input/output operation. These operations are performed by a set of CICS commands for BMS.
The following are the three basic functions performed by CICS commands:
1. Map Sending function – using the data in the symbolic map, BMS prepares the output NMDS, the corresponding physical map, and sends to the terminal.
2. Map Receiving Function – using the input NDMS from the terminal, BMS prepares data in the symbolic map through the corresponding physical map.
3. Text Handling Function – BMS prepares text without using a map and sends to the terminal.
![Page 63: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/63.jpg)
63
Interfacing with a Terminal using a Map (Contd..)
Flow of Information from 3270 Terminal and the Application Program.
Application Program
Send Map Command
Symbolic Map
BMS
Physical Map
BMSSymbolic Map
Application Program
Receive Map Command
Output NDMS
Input NDMS
Terminal
Data Entry
Terminal
![Page 64: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/64.jpg)
64
Interfacing with a Terminal using a Map (Contd..)
The following are the available commands:
• RECEIVE MAP : To receive a map • SEND MAP : To send a map • SEND CONTROL : To send a control function to the
terminal• SEND TEXT : To send a text • SEND PAGE : To send the accumulated text or
maps as a logical message
![Page 65: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/65.jpg)
65
Receive Map CommandRECEIVE MAP Command is used to receive input from a terminal. At the completion of the command, the symbolic map will contain valid data from the terminal in the following three fields as per each field defined by the DFHMDF macro:
Field name + L : The length field, which contains the actual
number of characters, typed in the screen field.
Field name + F : The Flag Byte which is normally X’00’. It will be X’80’ if the field has been modified but
cleared.Field name + I : The actual input data field. X’00’ will be placed
if no data is entered.
![Page 66: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/66.jpg)
66
Receive Map Command (Contd..)
Syntax: EXEC CICS RECEIVE MAP (MAPNAME)
MAPSET(MAPSETNAME) [ SET(POINTER)|
INTO(DATANAME) ] [ LENGTH(MSG-LEN)]
[ HANDLE | NOHANDLE ] [ RESP() ]
END-EXEC. • Conditions: INVREQ, MAPFAIL
![Page 67: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/67.jpg)
67
Receive Map Command (Contd..)MAP specified the name of the MAP defined thru DFHMDI command , which describes the screen details.
MAPSET specified the name of the MAPSET defined thru DFHMSD command which includes the MAP.
INTO is used to specify the area in the working storage section to which the data from the terminal is to be placed.
SET is used when the address pointer is to be set to the address of the symbolic map (by CICS) so that the application program can directly refer to the record without moving the record content into the working storage area defined in the program.
![Page 68: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/68.jpg)
68
Receive Map Command (Contd..)RESP will be used by CICS to place a response code at a completion of the command.
HANDLE is used to transfer control to the procedure label specified if the exceptional condition specified occurs.
NOHANDLE will cause no action to be taken for any exceptional condition occurring during execution of the CICS command.
Conditions : INVMPSZ , INVREQR , LENGERR, MAPFAILMAPFAIL is set when the data being mapped has a length of zero. It occurs when the following keys are pressed in response to the RECEIVE MAP command: CLEAR or Attention Keys & ENTER or PF keys without entering data.
![Page 69: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/69.jpg)
69
SEND MAP Command SEND MAP Command
The SEND MAP command is used to send formatted output to a terminal. Before issuing this command, the application program must prepare the data in the symbolic map of the map to be sent, which has the following three fields per each field defined by the DFHMDF macro:
Name + L: The length field, for which the application program need not prepare except when used for the dynamic cursor positioning.
Name + A: The Attribute byte for output fields. Application program will use it for dynamic cursor positioning.
Name + O: The actual output data field, where the application program places the data.
![Page 70: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/70.jpg)
70
SEND MAP Command (Contd..)EXEC CICS SEND MAP(MAP1)
MAPSET(MAPSET1) ] [FROM(DATANAME) ], [DATAONLY] |
MAPONLY],[ CURSOR(VALUE) ],[ FREEKB ] , [ ERASE ] , [ FRSET ] ,[ HANDLE | NOHANDLE ] ,[ RESP (DATANAME) ]
END-EXEC.
• Conditions : INVREQ,LENGERR
![Page 71: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/71.jpg)
71
SEND MAP Command (Contd..)
MAP specified the name of the MAP defined thru DFHMDI command , which describes the screen details.
MAPSET specified the name of the MAPSET defined thru DFHMSD command which includes the MAP.
MAPONLY is used when no data from your program is to be merged into the map.
DATAONLY is used when only the data from the program is to be sent to the screen. The constants in the map are not sent.
![Page 72: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/72.jpg)
72
SEND MAP Command (Contd..)
FROM is used to specify the area in the working storage section from which the data is to be sent to the terminal.
![Page 73: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/73.jpg)
73
AID KEYSAID KEYS
First time when a transaction is initiated the application program throws the screen image on the terminal thru SEND MAP command. Once the screen appears, the AID (Attention Identifier ) Keys are being used to send the information back from the terminal to CICS to application program. CICS application program needs to trap the attention identifier keys and process various functions related to the AID keys.
Salient Points• PF keys, PA keys, ENTER & CLEAR key
• EIBAID in the CICS Executive Interface Block contains, recently used AID key.
![Page 74: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/74.jpg)
74
AID KEYS (Contd..)• DFHAID – CICS System copybook which stores the values of
the EIBAID field for the various AID keys. Flow : User hits AID key – Control goes to CICS – To Application program. EIBAID contains information about the last AID key pressed. Program compares EIBAID to the DFHAID field and performs processing logic as per the AID key pressed.
• HANDLE AID establish the routines that are to be invoked when the aid is detected by a RECEIVE MAP command.Syntax : EXEC CICS HANDLE AID
Option (label)END-EXEC
Conditions : INVREQ
![Page 75: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/75.jpg)
75
Screen Design ConsiderationsScreen Design Considerations
Functional Screen Design
• Screen layout should be similar to source where terminal users enter data.
• Screen id should be placed at the top right corner of a screen. This helps at problem determination time.
• Screen title and field descriptions should be self-explanatory.
Instructions should be concise.
![Page 76: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/76.jpg)
76
Screen Design Considerations (Contd..)• Large fields can be broken into a number of small fields. E.g.
the field contact information can be split into contact numbers, email ids and postal address.
• In case of repeated fields or group of fields, sequence numbers helps.
• Error messages should be provided. Preferably the last few lines can be used for the error messages.
![Page 77: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/77.jpg)
77
Screen Design ConsiderationsUser-Friendly Screen Design
• Screens should be simple and friendly.• Default values in fields helps in reducing keystrokes by the
users. Also, in case the user forgets to enter a field data, defaults values are assigned according to the field.
• Calculations should be done by program and not by users. • The cursors should be placed in the appropriate fields.• Highlight the error field. Using a different colour or blinking
the error field can achieve this. This enables users to identify the erroneous field easily.
![Page 78: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/78.jpg)
78
Screen Design Considerations (Contd..)• Alarm sound can be used for error entries.• Provide suitable help messages for erroneous entries. The
help message should be instructive and kind and should not be rude.
• Provide help on fields and their meanings. Using an attention key for a help menu, which has details on each field, makes a screen user-friendly.
Artistic Screen Design• A simple screen layout is always preferred.• Proper use of indentations, spaces, and lines makes a
screen look good.
![Page 79: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/79.jpg)
79
Screen Design Considerations (Contd..)• Colour can help in improving the screen design; however the
colour used should be in accordance with the norms and standards followed.
Considerations for Human Errors • Important and useful fields can be placed at the top part of
the screen. • Related fields can be grouped together.• Protected fields should be skipped automatically. This
reduces manual skipping and is preferred.• Skipper/Stopper techniques can be used at appropriate
places.
![Page 80: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/80.jpg)
80
Exercise - 1
Exercise - 1
![Page 81: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/81.jpg)
81
CICS File Processing TechniquesCICS File Processing Techniques
![Page 82: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/82.jpg)
82
CICS VS FILE PROCESSING
File handling in CICS is achieved thru a set of file handling commands. It is essential to know the various file handling commands for application programming.
File Specific functions to be performed are the following.• Defining a specific file to the CICS system.• Reading a file sequentially• Reading a Key Sequenced file randomly• Reading a file sequentially starting from a specific point. • Reading and Updating a record• Deleting a Record.• Handle any errors that occur during file processing
![Page 83: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/83.jpg)
83
CICS VS FILE PROCESSING
Instead, CICS has a list of all the files it is allowedTo access.
This list is called the FILE CONTROL TABLE (FCT) and is maintained by the systems programmers
When CICS/VS is started up. It goes through the FCT and makes all the files available. When CICS/VS is closed down it closes all the files.
Application programs do not needThe FD Section, and the Input – OutputSection. Application program directly Refer to filenames in EXEC CICS Command.
Files do not need to exclusivelydefined in Application programs. The files do not need to opened and closed in a CICS application program , before being used in the program.
![Page 84: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/84.jpg)
84
CICS COBOL V/S COBOL
BATCH COBOL CICS COBOL
READ DATAFILE INTO REC-AREA EXEC CICS READDATASET (‘FILE IDENTIFIER)INTO (RECORD NAME)RID-FLD (record-key)END-EXEC.
WRITE RECORD-NAME FROM RECORD-AREA
EXEC CICS WRITE DATASET (‘File identifier’) FROM (Record-Name) RID-FLD (Record- key)END-EXEC.
Replaced by
Replaced by
AT END MOVE ‘Y’ TOEOF-FLAG
![Page 85: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/85.jpg)
85
VSAMVSAM
Different types of VSAM Datasets used in CICS are :
• ESDS Entry Sequenced Dataset• KSDS Key Sequenced Dataset• RRDS Relative Record Dataset
![Page 86: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/86.jpg)
86
Services Provided By CICSServices Provided By CICS
• Basic Operations required for a file areAdding a Record.Modifying an Existing Record.Deleting an Existing Record. Browsing One or Selected or All Records.
• In Addition, CICS ProvidesExclusive Control. (Record Level Locking).Data Independence.Journaling.Opening and closing Files.
![Page 87: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/87.jpg)
88
Defining A File in CICSDefining A File in CICS
• Files should be defined in FCT (File Control Table).
• FCT will contain all the Information about a file (like dataset name, access methods, permissible file service request, etc.)
• Defining files can be done either by CEDA Transaction or DFHFCT Macro.
![Page 88: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/88.jpg)
89
Syntax of DFHFCT Macro Syntax of DFHFCT Macro
DFHFCT TYPE=FILE,ACCMETH=VSAM,
DATASETNAME=NAME,
SERVRQ=(ADD,BROWSE,DELETE,READ,UPDATE),
FILSTAT=(ENABLED,OPENED)
![Page 89: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/89.jpg)
90
File Handling in ProgramsFile Handling in Programs
• Files should not be defined in the Program.
• Program should not open or close a File.
• Records can be written in any order. A number of records can be
added at a time.
• Records can be inserted, updated or deleted.
![Page 90: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/90.jpg)
91
Important Key-WordsImportant Key-Words
• Dataset/File :- Name in the FCT.
• Into/From (WS-Rec) :- Working-Storage Area defined in the program where the CICS Puts/Gets the Data.
• RIDFLD :- Contains the Record Key.
• RESP :- Contains the return code of the executed command.
• LENGTH :- Length of the Record to be Retrieved or Written.
![Page 91: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/91.jpg)
92
Random READRandom READ
EXEC CICS READ File(filename)
[SET() | Into()]
RIdfld(Rec-Key)
END-EXEC.
Condition: DISABLED, NOTOPEN, NOTFND, LENGERR, DUPKEY, IOERR.
![Page 92: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/92.jpg)
93
Example for Random Read Example for Random Read
EXEC CICS READ
File( 'INVMAS ')
Into(WS-INVMAS-REC)
Length(WS-INVMAS-LEN)
RIdfld('7135950602') | RIdfld(WS-INVMAS-KEY)
END-EXEC.
![Page 93: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/93.jpg)
94
Sequential ReadSequential Read
• Sequential Read is done by Browse Oper.• Establish the pointer to the First Record to be Read Using
StartBr.• Next and Previous Records can be Read as required Using
ReadNext and ReadPrev.• End the Browse Operation at last.• Browse can be re-positioned.• During Browse Operation, Records cannot be Updated.
![Page 94: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/94.jpg)
95
Syntax for STARTBRSyntax for STARTBR
EXEC CICS STARTBR
FILE(filename)
RIDFLD(data-area)
END-EXEC.
Condition : DISABLED, IOERR, NOTFND, NOTOPEN.
![Page 95: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/95.jpg)
96
Reading the Record after STARTBRReading the Record after STARTBR
• Sequentially the Next or Previous Record can be read by a READNEXT or READPREV.
• The first READNEXT or READPREV will read the Record where the STARTBR has positioned the File Pointer.
![Page 96: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/96.jpg)
97
Syntax of READNext/READPrev Syntax of READNext/READPrev
EXEC CICS READNext | READPrev
FILE(name)
INTO(data-area)|SET(ptr-ref)
RIDFLD(data-area)
END-EXEC.
Condition : DUPKEY, ENDFILE, IOERR, LENGERR, NOTFND.
![Page 97: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/97.jpg)
98
ENDBRowseENDBRowse
• ENDBRowse terminates a Previously issued STARTBR.
• SYNTAX :
EXEC CICS ENDBR
FILE(filename)
END-EXEC.
Condition: INVREQ
![Page 98: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/98.jpg)
99
RESETBRRESETBR
• Its effect is the same as ENDBR and then giving another STARTBR.
• Syntax :
EXEC CICS RESETBR
FILE(filename)
RIDFLD(data-area)
END-EXEC.
Condition: IOERR, NOTFND.
![Page 99: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/99.jpg)
100
WRITE CommandWRITE Command
• Adds a new record into the File.• For ESDS, RIDFLD is not used but after write execution, RBA
value is returned and Record will be written at the end of the File.
• For KSDS, RIDFLD should be the Record Key. The record will be written depending on the Key.
• MASSINSERTion must be done in ascending order of the Key.
![Page 100: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/100.jpg)
101
Syntax for WRITE Syntax for WRITE
EXEC CICS WRITE
FILE(filename)
FROM(data-area)
RIDFLD(data-area)
END-EXEC.
Condition: DISABLED, DUPREC, IOERR, LENGERR, NOSPACE, NOTOPEN.
![Page 101: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/101.jpg)
102
REWRITE CommandREWRITE Command
• Updates a Record which is Previously Read with UPDATE Option.
• REWRITE automatically UNLOCKs the Record after execution.
![Page 102: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/102.jpg)
103
Syntax for REWRITESyntax for REWRITE
EXEC CICS REWRITE
FILE(filename)
FROM(data-area)
END-EXEC.
Condition: DUPREC, IOERR, LENGERR, NOSPACE.
![Page 103: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/103.jpg)
104
DELETE CommandDELETE Command
• Deletes a Record from a dataset.• Record can be deleted in two ways,
1. RIDFLD with the full key in it
2. The record read with READ with UPDATE will be deleted.• Multiple Records Delete is possible using Generic Option.
![Page 104: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/104.jpg)
105
Syntax of DELETESyntax of DELETE
EXEC CICS DELETE
FILE(filename)
RIDFLD(data-area) Optional
END-EXEC.
Condition: DISABLED, DUPKEY, IOERR, NOTFND,
NOTOPEN.
![Page 105: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/105.jpg)
106
UNLOCKUNLOCK
• To Release the Record which has been locked by READ with UPDATE Command.
• Syntax :
EXEC CICS UNLOCK
FILE(filename)
:
[other options]
END-EXEC.
Condition: DISABLED, IOERR, NOTOPEN.
![Page 106: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/106.jpg)
107
General ExceptionsGeneral Exceptions
• The following exceptions usually will occur for ALL CICS file handling commands.
FILENOTFOUND,
NOTAUTH,
SYSIDERR,
INVREQ
![Page 107: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/107.jpg)
108
CICS Error Handling ProceduresCICS Error Handling Procedures
![Page 108: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/108.jpg)
109
Error Handling in CICS
Possible Errors:
• Conditions that aren't normal from CICS's point of view but that are
expected in the program.
• Conditions caused by user errors and input data errors.
• Conditions caused by omissions or errors in the application code.
• Errors caused by mismatches between applications and CICS
tables, generation parameters and JCL
• Errors related to hardware or other system conditions beyond the
control of an application program.
![Page 109: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/109.jpg)
110
Error Handling methods
When the error (exceptional conditions) occur, the program can do any of the following
• Take no action & let the program continue - Control returns to the next inst. following the command that has failed to execute. A return code is set in EIBRESP and EIBRCODE. This state occurs ‘cause of NO HANDLE /RESP/IGNORE conditions
• Pass control to a specified label - Control goes to a label in the program defined earlier by a HANDLE CONDITION command.
• Rely on the system default action - System will terminate or suspend the task depends on the exceptional condition occurred
![Page 110: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/110.jpg)
111
Error Handling methods (Contd..)• HANDLE CONDITION condition[(label)]... 'condition' specifies
the name of the condition, and 'label' specifies the location within the program to be branched
• Remains active while the program is executing or until it encounters IGNORE/another HANDLE condition.
• Syntax :EXEC CICS HANDLE CONDITION ERROR(ERRHANDL) LENGERR(LENGRTN)END-EXEC
This example handles DUPREC condition separately, all the other Errors together. LENGERR will be handled by system
![Page 111: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/111.jpg)
112
HANDLE Condition
Example of Handle condition:
EXEC CICS HANDLE CONDITION
NOTFND(RECORD-NOT-FOUND)
END-EXEC
This condition catches the NOTFND condition and transfers control to the REC-NOT- FOUND paragraph in the program. The error handling logic can be coded in the REC-NOT-FND paragraph.
![Page 112: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/112.jpg)
113
Alternative to Handle condition
• NOHANDLE to specify “no action to be taken for any condition or attention identifier (AID) “
• RESP(xxx) "xxx" is a user-defined full word binary data area. On return from the command, it contains a return code. Later, it can be tested by means of DFHRESP as follows,
If xxx=DFHRESP(NOSPACE) ... or If xxx=DFHRESP(NORMAL) ...
![Page 113: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/113.jpg)
114
IGNORE Condition
• IGNORE CONDITION condition ...• ‘condition’ specifies the name of the condition that is to be
ignored( no action will be taken)• Syntax :
EXEC CICS IGNORE CONDITION
ITEMERR
LENGERR
END-EXEC• This command will not take any actions if the given two error
occurs and will pass the control to the next instruction
![Page 114: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/114.jpg)
115
Sample program to use Handle condition
Here is an example of the CICS- COBOL code with proper handling of errors
Procedure Division.EXEC CICS HANDLE CONDITION
NOT-FND(REC-NOT-FOUND)END EXEC.:EXEC CICS READ
DATASET(SAMPLE)RIDFLD(EMP-NO)INTO (EMP-REC)
END-EXEC:GO TO LAST-PART
![Page 115: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/115.jpg)
116
Sample program to use Handle condition (Contd..)
REC-NOT-FOUND
MOVE ‘NOT-ON-FILE’ TO NAMEO ( SYMBOLIC MAP
PARAMETER)
LAST-PART.
EXEC CICS SEND
MAP (‘TC0BM31’)
MAPSET(‘TC0BM30’)
FROM (‘TC0BM310’)
DATA-ONLY
END-EXEC
![Page 116: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/116.jpg)
117
PUSH & POPPUSH & POP
• To suspend all current HANDLE CONDITION, IGNORE CONDITION, HANDLE AID and HANDLE ABEND commands.
• Used for eg. while calling sub-pgms (CALL).
• While receiving the control, a sub-program can suspend Handle commands of the called program using PUSH HANDLE.
• While returning the control, it can restore the Handle command using POP HANDLE.
![Page 117: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/117.jpg)
118
Syntax of Push & PopSyntax of Push & Pop
• Syntax of Push :
EXEC CICS Push
Handle
END-EXEC.
• Syntax of Pop :
EXEC CICS Pop
Handle
END-EXEC.
![Page 118: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/118.jpg)
119
EXEC Interface Block (EIB)EXEC Interface Block (EIB)
• CICS provides some system-related information to each task as EXEC Interface Block (EIB)
• Unique to the CICS command levelEIBAID Attention- Id (1 Byte)EIBCALEN Length of DFHCOMMAREA (S9(4)
comp)EIBDATE Date when this task started (S9(7) comp-3)EIBFN Function Code of the last command ( 2
Bytes)EIBRCODE Response Code of the last command (6
Bytes)EIBTASKN Task number of this task (S9(7) comp-3)EIBTIME Time when this task started (S9(7) comp-3)EIBTRMID Terminal-Id (1 to 4 chars)EIBTRNID Transaction-Id (1 to 4 chars)
![Page 119: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/119.jpg)
120
Processing Program Table - PPTProcessing Program Table - PPT
DFHPPT TYPE=ENTRY
PROGRAM |MAPSET= name
[PGMLANG= ASM|COBOL|PLI]
[RES= NO|FIX|YES]
:
: other options
:
Eg.
DFHPPT TYPE=ENTRY,PROGRAM=TEST,
PGMLANG=COBOL
![Page 120: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/120.jpg)
121
PCT EntryPCT Entry
DFHPCT TYPE=ENTRY TRANSID= name PROGRAM=name TASKREQ=pf6 RESTART=yes/no ( TRANSEC = 1 to 64) RSLKEY= 1 to 24 resource level key SCTYKEY= 1 to 64 security key :
:other options
![Page 121: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/121.jpg)
122
PROGRAM CONTROLPROGRAM CONTROL
![Page 122: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/122.jpg)
123
Program Control CommandsProgram Control Commands
• LINK
• XCTL
• RETURN
• LOAD
• RELEASE
![Page 123: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/123.jpg)
124
LINKLINK
• Used to pass control from one application program to another
• The calling program expects control to be returned to it
• Data can be passed to the called program using COMMAREA
• If the called program is not already in main storage it is loaded
![Page 124: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/124.jpg)
125
LINK Syntax LINK Syntax
EXEC CICS LINK
PROGRAM(name)
[COMMAREA(data-area)
[LENGTH(data-value)]]
END-EXEC.
Conditions : PGMIDERR, NOTAUTH, LENGERR
![Page 125: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/125.jpg)
126
XCTLXCTL
• To transfer control from one application program to another in the same logical level
• The program from which control is transferred is released
• Data can be passed to the called program using COMMAREA
• If the called program is not already in main storage it is loaded
![Page 126: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/126.jpg)
127
XCTL Syntax XCTL Syntax
EXEC CICS XCTL
PROGRAM(name)
[COMMAREA(data-area)
[LENGTH(data-value)]]
END-EXEC.
Conditions : PGMIDERR, NOTAUTH, LENGERR
![Page 127: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/127.jpg)
128
RETURNRETURN
• To return control from one application program to another at a
higher logical level or to CICS
• Data can be passed using COMMAREA when returning to CICS
to the next task
![Page 128: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/128.jpg)
129
RETURN SyntaxRETURN Syntax
EXEC CICS RETURN
[TRANSID(name)
[COMMAREA(data-area)
[LENGTH(data-value)]]]
END-EXEC.
Conditions : INVREQ, LENGERR
![Page 129: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/129.jpg)
130
PROG A LINKRETURN
CICS
PROG BXCTL
PROG CLINKRETURN
PROG DXCTL
PROG ERETURN
Level 0
Level 1
Level 2
Level 3
Application ProgramLogic Levels
![Page 130: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/130.jpg)
131
LOADLOAD
• To load program/table/map from the CICS DFHRPL concatenation library into the main storage
• Using load reduces system overhead• Syntax :
EXEC CICS Load
Program(name)
[SET (pointer-ref)]
[LENGTH (data-area)]
END-EXEC.
Condition : NOTAUTH, PGMIDER
![Page 131: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/131.jpg)
132
RELEASERELEASE
• To RELEASE a loaded program/table/map• Syntax :
EXEC CICS RELEASE
PROGRAM(name)
END-EXEC.
Conditions : PGMIDERR, NOTAUTH, INVREQ
![Page 132: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/132.jpg)
133
COMMAREA COMMAREA
• Data passed to called program using COMMAREA in LINK and XCTL
• Calling program - Working Storage definition• Called program - Linkage section definition under
DFHCOMMAREA• Called program can alter data and this will automatically
available in calling program after the RETURN command
( need not use COMMAREA option in the return for this purpose )
• EIBCALEN is set when COMMAREA is passed
![Page 133: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/133.jpg)
134
Communication With DatabasesCommunication With Databases
![Page 134: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/134.jpg)
135
CICS - DB2CICS - DB2
• CICS provides interface to DB2.• DB2 requires “CICS Attachment Facility” to connect itself to
CICS• CICS programs can issue commands for SQL services in order
to access the DB2 database.
EXEC SQL function
[options]
END-EXEC
![Page 135: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/135.jpg)
136
Operating system
CICS REGION DB2 REGION
App. Pgm. EXEC SQL.. CICS Attachment Facility
DB2Database
DB2 Database access by CICS
![Page 136: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/136.jpg)
137
RCT EntryRCT Entry
• The CICS-to-DB2 connection is defined by creating and assembling the resource control table (RCT)
• The information in RCT is used to control the interactions between CICS & DB2 resources
• DB2 attachment facility provides a macro (DSNCRCT) to generate the RCT.
• The RCT must be link-edited into a library that is accessible to MVS
![Page 137: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/137.jpg)
138
DB2 - PrecompilerDB2 - Precompiler
Source Program (EXEC SQL...
| EXEC CICS...)
DB2 Precompiler
|
CICS command translator
|
Compile By COBOL
|
Linkedit by Linkage editor
|
Load Module
![Page 138: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/138.jpg)
139
QUEUES QUEUES
![Page 139: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/139.jpg)
140
Transient data ControlTransient data Control
• Provides application programmer with a queuing facility• Data can be stored/queued for subsequent internal or external
processing • Stored data can be routed to symbolic destinations• TDQs require a DCT entry • Identified by Destination id - 1 to 4 bytes
![Page 140: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/140.jpg)
141
TDQsTDQs
• Intra-partitioned - association within the same CICS subsystem
Typical uses are
- ATI (Automatic Task Initiation) associated with trigger level
- Message switching
- Broadcasting etc
• Extra-partitioned - association external to the CICS subsystem, Can associate with any sequential device - Tape, DASD, Printer etc
Typical uses are
- Logging data, statistics, transaction error messages
- Create files for subsequent processing by Non-CICS / Batch
programs.
![Page 141: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/141.jpg)
142
TDQsTDQs
• Operations
Write data to a transient data queue (WRITEQ TD)
Read data from a transient data queue (READQ TD)
Delete an intra partition transient data queue (DELETEQ TD).
![Page 142: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/142.jpg)
143
WRITEQ TDWRITEQ TD
• Syntax :
EXEC CICS WRITEQ TD
QUEUE(name)
FROM(data-area)
[LENGTH(data-value)]
[SYSID(systemname)]
END-EXEC.
Conditions: DISABLED, INVREQ, IOERR, ISCINVREQ, LENGERR, NOSPACE, NOTAUTH, NOTOPEN, QIDERR, SYSIDERR
![Page 143: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/143.jpg)
144
READQ TDREADQ TD
• Reads the queue destructively - Data record not available in the queue after the read.
• Syntax :
EXEC CICS READQ TD
QUEUE(name)
{INTO(data-area) | SET(ptr-ref) }
[LENGTH(data-value)]
[NOSUSPEND]
END-EXEC.
Conditions : DISABLED, IOERR, INVREQ, ISCINVREQ, LENGERR, NOTAUTH, NOTOPEN, QBUSY, QIDERR, QZERO, SYSIDERR
![Page 144: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/144.jpg)
145
DELETEQ TDDELETEQ TD
• Deletes all entries in the queue• Syntax :
EXEC CICS DELETEQ TD
QUEUE(name)
END-EXEC.
Conditions: INVREQ, ISCINVREQ, NOTAUTH, QIDERR, SYSIDERR
![Page 145: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/145.jpg)
146
Destination Control TableDestination Control Table
• DCT is to register the information of all TDQs• Destination Control Program (DCP) uses DCT to identify all
TDQs and perform all I/O operations.• DFHDCT is a macro to define intra & extra partition TDQs
TYPE=INTRA/EXTRA• REUSE option specified along with intra partition TDQ tells
whether the space used by TDQ record will be removed & reused after it has been read.
![Page 146: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/146.jpg)
147
Automatic Task InitiationAutomatic Task Initiation
• Facility through which a CICS transaction can be initiated automatically
DFHDCT TYPE=INTRA
DESTID=MSGS
TRANSID=MSW1
TRIGLEV=500
When the number of TDQ records reaches 500, the
transaction MSW1 will be initiated automatically• Applications
Message switching & Report printing
![Page 147: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/147.jpg)
148
Temporary Storage ControlTemporary Storage Control
• Provides application programmer the ability to store and retrieve data in a TSQ
• Application can use the TSQ like a scratch pad• TSQs are
- Created and deleted dynamically
- No CICS table entry required if recovery not required
- Identified by Queue id - 1 to 8 bytes
- Typically a combination of termid/tranid/operid• Each record in TSQ identified by relative position, called the item
number
![Page 148: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/148.jpg)
149
TSQsTSQs
• Operations– Write and Update data– Read data - Sequential and random– Delete the queue
• Access– Across transactions– Across terminals
• Storage– Main - Non-recoverable– Auxiliary - Recoverable – TST entry required, VSAM file DFHTEMP
![Page 149: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/149.jpg)
150
TSQs - Typical uses TSQs - Typical uses
• Data passing among transactions
• Terminal Paging
• Report printing
![Page 150: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/150.jpg)
151
WRITEQ TSWRITEQ TS
• Syntax :
EXEC CICS WRITEQ TS
QUEUE(name)
FROM(data-area)
[LENGTH(data-value)]
[NUMITEMS(data-area) |
ITEM(data-area) [REWRITE] ]
[MAIN|AUXILIARY]
[NOSUSPEND]
END-EXEC.
Conditions : ITEMERR, LENGERR, QIDERR, NOSPACE, NOTAUTH, SYSIDERR, IOERR, INVREQ, ISCINVREQ
![Page 151: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/151.jpg)
152
READQ TSREADQ TS
• Syntax :
EXEC CICS READQ TS
QUEUE(name)
{INTO(data-area) | SET(ptr-ref) }
LENGTH(data-value)
[NUMITEMS(data-area)]
[ITEM(data-area) | NEXT ]
END-EXEC.
Conditions : ITEMERR, LENGERR, QIDERR, NOTAUTH, SYSIDERR, IOERR, INVREQ, ISCINVREQ
![Page 152: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/152.jpg)
153
DELETEQ TSDELETEQ TS
• Deletes all entries in the queue• Syntax :
EXEC CICS DELETEQ TS
QUEUE(name)
END-EXEC.
Conditions: INVREQ, ISCINVREQ, NOTAUTH, QIDERR, SYSIDERR
![Page 153: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/153.jpg)
154
INTERVAL & TASK CONTROLINTERVAL & TASK CONTROL
![Page 154: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/154.jpg)
155
ASKTIMEASKTIME
• Used to obtain current date and time• Syntax :
EXEC CICS ASKTIME[ABSTIME(data-area)]
END-EXEC.
• EIBDATE and EIBTIME updated with current date and time• ABSTIME returns value of time in packed decimal format
![Page 155: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/155.jpg)
156
FORMATTIMEFORMATTIME
• Syntax :
EXEC CICS FORMATTIME ABSTIME(data-ref)
[YYDDD(data-area)]
[YYMMDD(data-area)]... etc.
[DATE(data-area) [DATEFORM[(data-area)]]]
[DATESEP[(data-value)]]
[DAYOFMONTH(data-area)]
[MONTHOFYEAR(data-area)]
[YEAR(data-area)].....
[TIME(data-area) [TIMESEP[(data-value)]]]
END-EXEC.
Condition: INVREQ
![Page 156: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/156.jpg)
157
DELAYDELAY
• Used to DELAY the processing of a task• The issuing task is suspended for a specified interval or Until the
specified time • Syntax :
EXEC CICS DELAY
INTERVAL(hhmmss) | TIME(hhmmss)
END-EXEC
Conditions: EXPIRED, INVREQ
![Page 157: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/157.jpg)
158
STARTSTART
• Used to start a transaction at the specified terminal and at the specified time or interval
• Data can be passed to the new transaction• Syntax :
EXEC CICS START
TRANSID(transid)
[TERMID(termid)
TIME(hhmmss) | INTERVAL(hhmmss) ]
END-EXEC
Conditions : INVREQ, LENGERR,TERMIDERR, TRANSIDERR
![Page 158: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/158.jpg)
159
Other Interval Control CommandsOther Interval Control Commands
• POST - to request notification when the specified time has expired.
• WAIT EVENT - to wait for an event to occur.• RETRIEVE - Used to retrieve the data passed by the START• CANCEL -Used to cancel the Interval Control requests. eg.
DELAY,POST and START identified by REQID.• SUSPEND - Used to suspend a task• ENQ - to gain exclusive control over a resource• DNQ - to free the exclusive control from the resource gained by
ENQ
![Page 159: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/159.jpg)
160
Recovery & RestartRecovery & Restart
![Page 160: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/160.jpg)
161
The Need for Recovery/RestartThe Need for Recovery/Restart
• The possible failures that can occur outside the CICS system are
Communication failures (in online systems)
Data set or database failures
Application or system program failures
Processor failures & Power supply failures.
• Recovery/Restart facilities are required to minimize or if possible, eliminate the damage done to the online system, in case of the above failures to maintain the system & data integrity.
![Page 161: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/161.jpg)
162
RECOVERYRECOVERY
• An attempt to come back to where the CICS system or the transaction was when the failure occurred
• Recoverable Resources
VSAM files
Intrapartition TDQ
TSQ in the auxiliary storage
DATA tables
Resource definitions & System definition files
![Page 162: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/162.jpg)
163
RESTARTRESTART
• To resume the operation of the CICS system or the transaction when the recovery is completed
![Page 163: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/163.jpg)
164
Facilities for Recovery/RestartFacilities for Recovery/Restart
Facilities for CICS Recovery/Restart
• Dynamic Transaction Backout• Automatic Transaction Restart• Resource Recovery Using System Log• Resource Recovery Using Journal• System Restart• Extended Recovery Facility (XRF)
![Page 164: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/164.jpg)
165
Dynamic Transaction Backout (DTB)Dynamic Transaction Backout (DTB)
• When the transaction fails, backing out the changes made by the transaction while the rest of the CICS system continues normally is called DTB
• CICS automatically writes the ‘before image’ information of the record into the dynamic log for the duration of one LUW ,the work between the two consecutive SYNC points
• When an ABEND occurs, CICS automatically recovers all recoverable resources using the info. in dynamic log (Set DTB=YES in PCT)
![Page 165: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/165.jpg)
166
LUW & SYNC pointLUW & SYNC point
• The period between the start of a particular set of changes and the point at which they are complete is called a logical unit of work - LUW
• The end of a logical unit of work is indicated to CICS by a synchronization point (sync pt).
• Intermediate SYNC pt. can be done by• Syntax :
EXEC CICS SYNCPOINT
[ROLLBACK]
END-EXEC
![Page 166: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/166.jpg)
167
LUWs & SYNC ptsLUWs & SYNC pts
|- - - - - - - - - - - - LUW - - - - - - - - - |
Task A|---------------------------------------------|
SOT EOT-SP
|- - - LUW- - |- - - LUW- - |- - -LUW- - |
Task B|---------------->--------------->--------------|
SOT SP SP EOT-SP
When the failure occurs, changes made within the abending LUW will be backed out.
![Page 167: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/167.jpg)
168
Automatic Transaction RestartAutomatic Transaction Restart
• CICS capability to automatically restart a transaction after all resources are recovered through DTB
• If the transaction requires automatic restart facility, set RESTART=YES in PCT
• Care should be taken in order to restart the task at the point where DTB completes in the case of intermediate SYNC point
![Page 168: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/168.jpg)
169
Program PreparationProgram Preparation
![Page 169: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/169.jpg)
170
Introduction Introduction
• Preparing a Program to run in CICS Environment.• Defining the Program in the CICS Region.• Executing the Program.
![Page 170: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/170.jpg)
171
LOADMODULE
LINK EDIT
COBOLCOMPILER
CICS COMPILER
DB2PRECOMPILER
IF DB2 :
SOURCE
Program preparation
![Page 171: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/171.jpg)
172
Preparing a ProgramPreparing a Program
CICS requires the following steps to prepare a program
• Translating the Program.• Assemble or Compile the Translator Output. &• Link the Program.
![Page 172: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/172.jpg)
173
TranslationTranslation
• Translates the ‘EXEC CICS’ Statements into the Statements your Language (COBOL) Compiler can Understand.
• The Translator gives two outputs, a Program Listing as SYSPRINT and a Translated Source in SYSPUNCH.
• The SYSPUNCH is given as the input to the Program Compiler.• If any Copy Books are used in the Program, there should not be
any CICS Statements in the Copy Book.
![Page 173: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/173.jpg)
174
Compiling or LinkingCompiling or Linking
• As the CICS Commands have been translated, the compilation of the CICS program is the same as language program.
• Hence, the compiler options can be specified as required.
![Page 174: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/174.jpg)
175
Defining the Program Defining the Program
• The Application should be defined and installed into the PPT.
• This can be done either by using CEDA trans or DFHPPT.
![Page 175: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/175.jpg)
176
CICS Supplied Transactions CICS Supplied Transactions
![Page 176: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/176.jpg)
177
CESN/CESF TransactionsCESN/CESF Transactions
• To sign on to CICS system• CESN [USERID=userid] [,PS=password]
[,NEWPS=newpassword][,LANGUAGE=l]• Userid & password values can be from 1-8 chars.• In RACF, the Userid given in CESN is verified.• NEWPS to change the password and LANGUAGE to choose
national language• Sign off by CESF which breaks the connection between the user
and CICS• If the Sign on is done twice for the same userid at the terminal,
the previous operator will be signed off
![Page 177: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/177.jpg)
178
CECI - Command Level Interpreter CECI - Command Level Interpreter
• To build and test the effect of EXEC CICS commands• CECI ASSIGN is used to get the current userid,sysid, terminal id,
application id etc..• Before using the maps in programs, it can be tested using CECI
to check how it appears on the screen.• CECI gives the complete command syntax of the specified
command.• CECI READQ TD QUEUE(TESTL001) will read the current
record of the given TDQ
![Page 178: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/178.jpg)
179
CEMT-Master Terminal TransactionCEMT-Master Terminal Transaction
CEMT provides the following services
• Displays the status of CICS & system resources• Alter the status of CICS & system resources• Remove the installed resource definitions• Perform few functions that are not related to resources
![Page 179: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/179.jpg)
180
CEDF-Execution Diagnostic FacilityCEDF-Execution Diagnostic Facility
• To test command level application programs interactively• CEDF [termid/sysid/sessionid] [,ON/,OFF]• Termid - the identifier of the terminal on which the transaction to
be tested is being run• Sessionid - To test/monitor a transaction attached across an
MRO/ISC session• Sysid - To test a transaction across an APPC session
![Page 180: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/180.jpg)
181
CEDF (Contd..)CEDF (Contd..)
The points at which EDF interrupts execution of the program and sends a display to the terminal• At transaction initialization, after EIB has been initialized and
before the app. pgm given control• Start of execution of each CICS command (auguement
values can be changed at this point)• End of execution of each CICS command and before the
Handle condition mechanism is invoked (response code values can be changed)
• At program termination & at normal task termination• When an ABEND occurs & at abnormal task termination.• EIB values can be changed..& CEBR can be invoked
![Page 181: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/181.jpg)
182
CEBR-Temporary Storage BrowseCEBR-Temporary Storage Browse
• To browse the contents of CICS temporary storage queues (TSQ)
• CEBR by default will show the queue associated with the current terminal ‘CEBRL001’ which can be overridden to view any other queue
• TERM to browse TSQ for another terminal• QUEUE to make the named queue, current• PUT to copy the current queue contents into TDQ• GET to fetch TDQ for browsing• PURGE erases the contents of the current queue
![Page 182: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/182.jpg)
183
Exercise - 2
Exercise - 2
![Page 183: 1 CICS (Customer Information Control System). 2 Table of Contents Introduction to CICS Basic Mapping Support Program Control File Processing Error Handling](https://reader035.vdocuments.net/reader035/viewer/2022062409/56649c9c5503460f9495bb97/html5/thumbnails/183.jpg)
184
Thank YouThank You