CICS - DATA ACCESS
DAY 2 - SESSION 4
Updated in Nov 2004
Session 4 : ObjectivesTo Understand
CICS File handling Concepts
VSAM file types supported
VSAM File control Commands
VSAM File Browse Commands
Exceptions in File Handling
CICS-Database access : DB2 & IMS/DB
CICS Data Management
CICS and Database
Overview
RCT
CICS – VSAM File Handling
Supports VSAM
◦ BDAM supported in earlier versions of CICS
Files to be defined to CICS as resources in the FCT
File Opening, Closing done by CICS
Provides interface for
◦ Random access
◦ Sequential access
◦ Read, Write, Update, Delete
File Access Methods - VSAM
VSAM is the primary data access method for CICS
VSAM file types supported
◦ Key Sequenced Data Set (KSDS)
◦ Entry Sequenced Data Set (ESDS)
◦ Relative Record Data Set (RRDS)
Entry Sequenced Data Set
(ESDS)
Records to be
entered into
the data set
VSAM ESDS
ESDS - Relative Byte
Address
100
BYTES
REC1
200
BYTES
REC2
300
BYTES
REC3
0 100 200
RBA of REC3
is 200
Key Sequenced Data Set
(KSDS)
60
40
Key Field
20 25 58 63
Records For
Insert
Relative Record Data Set (RRDS)
REC3
REC1 REC2
REC5
REC3
SLOT 1 SLOT 2 SLOT 3 SLOT 4 SLOT 5
Record identification (RIDFLD)
RECORD KEY
PARTIAL KEY
RELATIVE BYTE ADDRESS (RBA)
RELATIVE RECORD NUMBER (RRN)
VSAM File – Random Access
Random Access
READ
WRITE a new record
REWRITE a record previously ‘read for update’
DELETE
UNLOCK a record previously ‘read for update’
VSAM File – Sequential
AccessSequential Read (Browsing)
Start Browsing
Read Next
Read Previous
End Browsing
Reset Browsing conditions
VSAM - READ from File :
Syntax
EXEC CICS READ DATASET(file-name)
INTO (rec-area)
LENGTH(record_length)]
RIDFLD(key-value)
RBA | RRN]
GENERIC]
KEYLENGTH(key-length)]
[UPDATE]
[GTEQ | EQUAL]
END-EXEC.
VSAM - READ from FILE : Example
WORKING- STORAGE SECTION.
77 WS-REC-LEN PIC S9(4) COMP.
77 WS-FILE-NAME PIC X(8) VALUE ‘ACCTMSTR’
01 WS-FILE-REC
05 WS-REC-KEY PIC X(6).
05 WS-REC-DATA PIC X(34).
PROCEDURE DIVISION.
MOVE 40 TO WS-REC-LEN.
MOVE ‘ABC451’ TO WS-REC-KEY.
EXEC CICS READ DATASET(WS-FILE-NAME)
INTO (WS-FILE-REC)
RIDFLD(WS-REC-KEY)
LENGTH(WS-REC-LEN)
END-EXEC.
VSAM – Steps to Add New
Records
WRITE NEW
RECORD
SET UP DATA VALUES
FOR NEW RECORD
MOVE KEY VALUE
TO RID FIELD
VSAM – Write to File : Syntax
EXEC CICS WRITE
DATASET(file-name)
FROM(file-rec)
LENGTH(rec-length)
RIDFLD(rec-key)
[RBA | RRN]
END-EXEC.
VSAM - File Update : Syntax
EXEC CICS REWRITE
DATASET (file-name)
FROM (data-area)
[LENGTH (rec-len)
END EXEC.
VSAM – File UnlockTo release a record previously read for update
EXEC CICS UNLOCK
FILE / DATASET (name)
END-EXEC.
VSAM - Delete From File :
Syntax
EXEC CICS DELETE
DATASET (file-name)
RIDFLD(rec-key)
[KEY-LENGTH(key-length)]
[GENERIC[NUMREC(rec-number)]]
[RBA | RRN]
END-EXEC.
VSAM - BROWSE Operation
ESTABLISH START
POSITION
RETRIEVE
NEXT RECORD
PROCESS
RECORD?
TERMINATE
BROWSE
END OF
BROWSE?
PROCESS
CHANGE
POSITION
YES
YES
YES
NO
NO
NO
VSAM - BROWSE CommandsSTARTBR - Establish starting position within file
READNEXT - Retrieve records in ascending order
sequentially as set by STARTBR
READPREV - Retrieve Records in descending
(reverse) order as set by STARTBR
RESETBR - Restart Browse by re-positioning the
pointer
ENDBR - Terminate Browse
VSAM - BROWSE : Example
MOVE ‘VALUE’ TO KEY-REC
EXEC CICS STARTBR FILE(‘FILEA’)
RIDFLD(RECKEY) RESP(ERR-CODE)
END-EXEC.
IF ERR-CODE = DFHRESP(NORMAL)
PERFORM UNTIL ERR-CODE = DFHRESP(ENDFILE).
PERFORM 2000-REC-FROM-FILE
UNTIL 2000-REC-FROM-FIL-EXIT
EXEC CICS READNEXT FILE(‘FILEA’)
INTO(FILEREC) RIDFLD(RECKEY)
RESP(ERR-CODE)
END-EXEC
END-PERFORM
EXEC CICS ENDBR FILE(‘FILEA’) …. END-EXEC
ELSE
PERFORM 9000-HANDLE-ERROR …..
END-IF.
File Handling - Exceptional
Conditions
Processing Information
◦ NOTFND
◦ ENDFILE
◦ LENGERR
Application Program Error
◦ INVREQ
◦ FILENOTFOUND
◦ ILLOGIC
◦ DUPREC
External Conditions
◦ IOERR
◦ DISABLED
◦ NOTOPEN
◦ NOSPACE
File Handling - Program
Organization
WORKING STORAGE
RECORD LAYOUT DEFINITION
RECORD ID FIELD
LINKAGE SECTION
EIB
PROCEDURE DIVISION
IDENTIFY KEY OF THE RECORD TO BE READ
EXEC CICS READ FILE....
CICS - Database Access
Provides Interface to
◦Hierarchical Database - IMS/DB
◦Relational Database - DB2
DB2 Database Access from
CICS
Terminal Users
CICS subsystem
CICS subsystem
Terminal Control & BMS modules
CICS - DB2 Attachment Facility Modules
DB2 Sub system
Appl.
pgm1
Appl.
pgm2
Appl.
pgm3
Threads
Tables, Files
Stored on disk
Other CICS
Modules
CICS - DB2 Program Preparation
Compile
Object
Module
Link-Edit
Load
Module
Compiler
Listing
Translated
Source
Source
Program
Translator
Listing
Translate
Precompile
Listing
Pre-Compile
Application
Plan
DBRM
Bind
Files - Data Tables
New feature of storing VSAM files in virtual
storage
Improved performance
◦ User Maintained Table(UMT)
◦ CICS Maintained Table (CMT)
◦ Shared Data Tables
Transparent to application program
Session 4 : Summary
CICS File handling - use of FCT
VSAM file types Supported - Random Access & Sequential
Read
File control commands - READ, WRITE, REWRITE, DELETE
Browse commands – STARTBR, READNEXT, READPREV,
RESETBR, ENDBR
Exceptional Conditions in File Handling
CICS-DB2 program preparation; RCT entries

Cics data access-session 4

  • 1.
    CICS - DATAACCESS DAY 2 - SESSION 4 Updated in Nov 2004
  • 2.
    Session 4 :ObjectivesTo Understand CICS File handling Concepts VSAM file types supported VSAM File control Commands VSAM File Browse Commands Exceptions in File Handling CICS-Database access : DB2 & IMS/DB
  • 3.
  • 4.
  • 5.
    CICS – VSAMFile Handling Supports VSAM ◦ BDAM supported in earlier versions of CICS Files to be defined to CICS as resources in the FCT File Opening, Closing done by CICS Provides interface for ◦ Random access ◦ Sequential access ◦ Read, Write, Update, Delete
  • 6.
    File Access Methods- VSAM VSAM is the primary data access method for CICS VSAM file types supported ◦ Key Sequenced Data Set (KSDS) ◦ Entry Sequenced Data Set (ESDS) ◦ Relative Record Data Set (RRDS)
  • 7.
    Entry Sequenced DataSet (ESDS) Records to be entered into the data set VSAM ESDS
  • 8.
    ESDS - RelativeByte Address 100 BYTES REC1 200 BYTES REC2 300 BYTES REC3 0 100 200 RBA of REC3 is 200
  • 9.
    Key Sequenced DataSet (KSDS) 60 40 Key Field 20 25 58 63 Records For Insert
  • 10.
    Relative Record DataSet (RRDS) REC3 REC1 REC2 REC5 REC3 SLOT 1 SLOT 2 SLOT 3 SLOT 4 SLOT 5
  • 11.
    Record identification (RIDFLD) RECORDKEY PARTIAL KEY RELATIVE BYTE ADDRESS (RBA) RELATIVE RECORD NUMBER (RRN)
  • 12.
    VSAM File –Random Access Random Access READ WRITE a new record REWRITE a record previously ‘read for update’ DELETE UNLOCK a record previously ‘read for update’
  • 13.
    VSAM File –Sequential AccessSequential Read (Browsing) Start Browsing Read Next Read Previous End Browsing Reset Browsing conditions
  • 14.
    VSAM - READfrom File : Syntax EXEC CICS READ DATASET(file-name) INTO (rec-area) LENGTH(record_length)] RIDFLD(key-value) RBA | RRN] GENERIC] KEYLENGTH(key-length)] [UPDATE] [GTEQ | EQUAL] END-EXEC.
  • 15.
    VSAM - READfrom FILE : Example WORKING- STORAGE SECTION. 77 WS-REC-LEN PIC S9(4) COMP. 77 WS-FILE-NAME PIC X(8) VALUE ‘ACCTMSTR’ 01 WS-FILE-REC 05 WS-REC-KEY PIC X(6). 05 WS-REC-DATA PIC X(34). PROCEDURE DIVISION. MOVE 40 TO WS-REC-LEN. MOVE ‘ABC451’ TO WS-REC-KEY. EXEC CICS READ DATASET(WS-FILE-NAME) INTO (WS-FILE-REC) RIDFLD(WS-REC-KEY) LENGTH(WS-REC-LEN) END-EXEC.
  • 16.
    VSAM – Stepsto Add New Records WRITE NEW RECORD SET UP DATA VALUES FOR NEW RECORD MOVE KEY VALUE TO RID FIELD
  • 17.
    VSAM – Writeto File : Syntax EXEC CICS WRITE DATASET(file-name) FROM(file-rec) LENGTH(rec-length) RIDFLD(rec-key) [RBA | RRN] END-EXEC.
  • 18.
    VSAM - FileUpdate : Syntax EXEC CICS REWRITE DATASET (file-name) FROM (data-area) [LENGTH (rec-len) END EXEC.
  • 19.
    VSAM – FileUnlockTo release a record previously read for update EXEC CICS UNLOCK FILE / DATASET (name) END-EXEC.
  • 20.
    VSAM - DeleteFrom File : Syntax EXEC CICS DELETE DATASET (file-name) RIDFLD(rec-key) [KEY-LENGTH(key-length)] [GENERIC[NUMREC(rec-number)]] [RBA | RRN] END-EXEC.
  • 21.
    VSAM - BROWSEOperation ESTABLISH START POSITION RETRIEVE NEXT RECORD PROCESS RECORD? TERMINATE BROWSE END OF BROWSE? PROCESS CHANGE POSITION YES YES YES NO NO NO
  • 22.
    VSAM - BROWSECommandsSTARTBR - Establish starting position within file READNEXT - Retrieve records in ascending order sequentially as set by STARTBR READPREV - Retrieve Records in descending (reverse) order as set by STARTBR RESETBR - Restart Browse by re-positioning the pointer ENDBR - Terminate Browse
  • 23.
    VSAM - BROWSE: Example MOVE ‘VALUE’ TO KEY-REC EXEC CICS STARTBR FILE(‘FILEA’) RIDFLD(RECKEY) RESP(ERR-CODE) END-EXEC. IF ERR-CODE = DFHRESP(NORMAL) PERFORM UNTIL ERR-CODE = DFHRESP(ENDFILE). PERFORM 2000-REC-FROM-FILE UNTIL 2000-REC-FROM-FIL-EXIT EXEC CICS READNEXT FILE(‘FILEA’) INTO(FILEREC) RIDFLD(RECKEY) RESP(ERR-CODE) END-EXEC END-PERFORM EXEC CICS ENDBR FILE(‘FILEA’) …. END-EXEC ELSE PERFORM 9000-HANDLE-ERROR ….. END-IF.
  • 24.
    File Handling -Exceptional Conditions Processing Information ◦ NOTFND ◦ ENDFILE ◦ LENGERR Application Program Error ◦ INVREQ ◦ FILENOTFOUND ◦ ILLOGIC ◦ DUPREC External Conditions ◦ IOERR ◦ DISABLED ◦ NOTOPEN ◦ NOSPACE
  • 25.
    File Handling -Program Organization WORKING STORAGE RECORD LAYOUT DEFINITION RECORD ID FIELD LINKAGE SECTION EIB PROCEDURE DIVISION IDENTIFY KEY OF THE RECORD TO BE READ EXEC CICS READ FILE....
  • 26.
    CICS - DatabaseAccess Provides Interface to ◦Hierarchical Database - IMS/DB ◦Relational Database - DB2
  • 27.
    DB2 Database Accessfrom CICS Terminal Users CICS subsystem CICS subsystem Terminal Control & BMS modules CICS - DB2 Attachment Facility Modules DB2 Sub system Appl. pgm1 Appl. pgm2 Appl. pgm3 Threads Tables, Files Stored on disk Other CICS Modules
  • 28.
    CICS - DB2Program Preparation Compile Object Module Link-Edit Load Module Compiler Listing Translated Source Source Program Translator Listing Translate Precompile Listing Pre-Compile Application Plan DBRM Bind
  • 29.
    Files - DataTables New feature of storing VSAM files in virtual storage Improved performance ◦ User Maintained Table(UMT) ◦ CICS Maintained Table (CMT) ◦ Shared Data Tables Transparent to application program
  • 30.
    Session 4 :Summary CICS File handling - use of FCT VSAM file types Supported - Random Access & Sequential Read File control commands - READ, WRITE, REWRITE, DELETE Browse commands – STARTBR, READNEXT, READPREV, RESETBR, ENDBR Exceptional Conditions in File Handling CICS-DB2 program preparation; RCT entries