CICS FAQ's part7

CICS and Data Base Handling (DB2 / IMS / VSAM Datasets)


CICS manages it's communication with DB2 with special interface modules called CICS/DB2 Attachment Facility. When a CICS program issues a SQL statement, CICS requests the attachment facility to establish a connection with DB2 called a thread. The information about the CICS transaction and DB2 is entered in Resource Control Table (RCT). The plan information is referenced through the RCT Entries.

During the translation process, the DB2 SQL statements are translated into a form called a Plan, which DB2 can understand immediately. This plan is stored in the DB2 system, with a simple call to the plan left in the COBOL code, during the BIND process. To create a load module with CICS and DB2, the DB2 pre-compilation and translation need to be done, before the CICS translator is run on the CICS-DB2-COBOL program.

COBOL-CICS-DB2 Source Program ---> DB2 Pre-Compiler ---> EXEC SQL statements are commented and replaced by appropriate CALL and MOVE instructions (DB2 Pre-compiled source program) + Database Request Module (DBRM).

The DBRM is used by BIND process to create the PLAN. The DB2 Pre-compiled source listing is processed by CICS translator, which comments the EXEC CICS commands with appropriate CALL and MOVE instructions. The translated source is then Compiled and finally Link-Edited, with other load-modules by including DSNCLI module that provides the interface to CICS-DB2 attachment facility.

DLIUIB is copied immediately after DFHCOMMAREA in Linkage Section. A PCB pointer need to be declared immediately, followed by the structure of the PCB. In the Procedure Division, the first reference to the DL/I, should be to Schedule the PSB with a DL/I Call using 'PSB' as the function code, and the last DL/I call is run with 'TERM' as the function code. After the 'PSB ' schedule call, SET ADDRESS of PCB-POINTERS to UIBPCBAL, and SET ADDRESS OF PCB declared in the linkage section to the PCB_POINTER declared in the Linkage section.

A Dead lock is a situation that occurs when two tasks are waiting for a resource that the other is holding. UNLOCK can be used to release the lock created by using the UPDATE option, when it is no more needed to be updated.

CICS is to be initiated as a high priority batch job to be run on the OS. During the Initialization process VSAM or sequential files are opened according to entries in FCT, Terminal environment is established based on TCT entries, Resident programs are loaded into memory, if the programs have resident=yes option set, in PCT. A sample CICS initial batch job is

//CICSA JOB 1234,XYZ,CLASS=2 //PROC1 EXEC DFHOLPRD //. 

0 comments:

Computers TopOfBlogs Technology Blogs Mainframe interview question and answers,mainframe jobs,cobol,vsam,jcl,cics,db2,rdbms,mvs,tso,ispf,ibm,hcl,tcs,cts,wibro Blog Directory