Professional Documents
Culture Documents
Cics Class 09
Cics Class 09
INTRODUCTION TO CICS
2. COBOL-CICS PGM
A. DESIGN THE BMS SCREEN
B. CODE THE COBOL-CICS PGM
C. HOW TO COMPILE
D. HOW TO SETUP THE CICS ENVIRONMENT
E. EXECUTE THE TRANSACTION 3-4 SESSION 90% THOERY , 10% TO DO A
PRACTICAL
3. COBOL-CICS - SUBPGM (NAVIGATION B/W SCREEN)
4. DATA PART:
1. COBOL-CICS-DB2 PGM - SCREEN - PGM - LINK -
SUBPGM - XCTL - NAVIGATION - DB2
2. COBOL-CICS-FILE PGM =-= KSDS CLUSTER - FILE - ERROR HANDLING
- PRACTICal
3. COBOL-CICS-QUEUE (TSQ - TDQ) - SCCREN - PGM -
DB2 - TSQ
5. SOME OF THE CICS COMMAND
6. ERROR HANDLING
===================================================================================
=====================
6. ERROR HANDLING
--------------------------------------------
READ -> RANDOM -> C1234 (C1235) -- READ COMMAND IN CICS -> NOTFND ==>
SYSTEM WILL BE ABEND THE PGM
2. RESP OPTION/PARAMETER:
IOERR
1. S1304.CICS.EMPKSDS
2. EMPMSET - FILEPGM - TRNF
3. EMPKSDS
1. IN CICS:
1 - PPT --> MAP & PGM
2. PCT - TRANS
3. FCT
==========
VSAM ->
DATASET -> CLUSTER - COBINATION OF 2 COMPONENTS 1. DATA
2. INDEX
IN VSAM -> 4 TYPES OF CLUSTER
00 - SUCCESS
10
21,22,23,24 -- KSDS INDEXED
35
1. ID DIVISION NO CHNAGES
2. ENVIRONMENT DIVIISON -- WE DO NOT DEFINE FILE IN ENV DIVISION.
3. DATA DIVISION.
WORKING-STORAGE
COPY FILE-LAYOUT.
4. PROCEDURE DIVISION.
EX: 1 2 3 4 5 6 7 8 9 10
3. WRITE
4. REWRITE & 5. DELETE --> BEFORE DO ANY CHANGE TO THE RECORD - WE NEED TO
LOCK THE RECORD
WHAT IF I SKIP THE RWRITE /DELETE COMMAND BECAUSE OF SOME CONDITION WAS NOT
SATISFIED..
COBOL-CICS-DB2 Practical:-
----------------------------------------------
COMPONET LIST:
==============================================================
1. DATA SORUCE : DATABASE - DB2 TABLE:
ID DIVISION. NO CHANGE
PROGRAM-ID. NAME.
AUTHOR. UR NAME.
DATE-WRITTEN. TODAY.
DATA DIVISION.
FILE SECTION. NO USE
WORKING-STORAGE SECTION.
CICS 1. DFHAID , 2. SYMBOLIC MAP 3. DFHBMSCA 4. FILE LAYOUT
LINKAGE SECTION.
CICS 1. DFHEIBLK
2. DFHCOMMAREA
PROCEDURE DIVISION.
2. COBOL-CICS-DB2 -- COMPILE:
COBOL-DB2-CICS PGM
JOB J5 S1. DSNHPC - DBRM
== REMOVE & REPLACE EXEC SQL WITH COBOL CODE
S2. DFHECP1$ ==
REMOVE & RPELACE EXEC CICS WITH COBOL CODE
S3 IGYCRCTL
S4. HEWL -=- LOAD
DSNHPC --> EXTRACT THE QUERY --> DBRM** -- DID NOT CHECK UR SYNTAX
QUERY IN A TOOL:
QUERY IN A GPGM
EXEC SQL SELECT COL1 ,COL2 INTO
:DCL-VAR
:DCL-VAR
FROM TABLENAME
END-EXEC
1. SCHEMA NAME
2. HOST VAIRBALE
3. SEMI COLON END IT
BIND PLAN
ONE DAY - SUPFI -> -805 -- DBA -. HE SAID WE UPDATING SOME PLAN HAS BROKEN UP
LAOD -- PDS
COPYBOOK - PDS
PROC - PDS
JOB COBO - PDS
T1 - T2 AS WELL
SCREEN - 24,80
POS=(10,30) = POS=(10,36)
1 10,20 30
2
3
.
10 HELLO ANIL = HELLO _.30-34 => WHAT ABT 35?? 1 BYTE
ATTRIBUTE OF FILED =ANIL
ANIL -- 36 --39
-- SYNC POINT -> COMMIT FOR SQL QUERY
CSX - RAILWAYS --> 1MIN COUNT -> TICKET - P1 - 2MIN ACK , 15MIN TO SOLVE
1. STORE DATA
2. PROCESS HUGE AMOUNT OF DATA - SECOND
3. SECURITY
4. FAST
5. MULTIUSER
SAP --> JD - JOHN DEERE -. 2013 -> SAP TO MOVE ON -- STILL DOING -- CLEINT
-> END UP - PAY MAIN SAP & MAINFRAME
CAT PROJECT
===================================================================================
==========
CICS CLASS 05:-
----------------------------------------------------------------------------
3. COBOL-CICS - SUBPGM (NAVIGATION B/W SCREEN)
IN COBOL-CICS - 3 WAYS
LINK --> USER -> PGMA --> LINK --> PGMB (EXECUTING) -> WHILE
PGMB IS EXECUTING - WHAT PGMS IS DOING? = RESOURCE WASTAGE
XCTL --> USER -> PGMA --> XCTL --> PGMA WILL TERMINATED - PGMB
- NOW PGMB WILL BE MAINPGM
SCREEN A - SCREEN B
PGMA - XCTL - PGMB
SCREEN A --> INPUT -PGMA LINK-> SUBPGM (PROCESS -- MAINFRAME - FRC OF SEC ->
GET) -->
SCREEN A --> OUTPUT
HOW MUCH DATA I CAN PASS --> EIBCALEN = S9(04) COMP -> 32000 LIMITED =
ENOUGH
WHAT IF I WANT TO PASS MORE DATA.
1. USE CALL = USING
2. QUEUE (TSQ)
01 WS-COMMAREA.
03 CLAIM-NUM
03 VALID-SW
LINKAGE SECTION.
01 DFHCOMMAREA.
03 CLAIM-NUM
03 VALID-SW
SCREEN A-- ., 4 PEOPLE -> PGMA -> LINK -> AUDIT PGM
SCREEN1 --> PGMA -> LINK - PGMB (EXEC CICS RETURN END-EXEC) == PGMA
SCREEN2 --> PGMC -> XCTL -> PGMD -> SCREEN-3 -> XCTL -- PGMC -> SCREEN2
PROCEDURE DIVISION.
PROECUDRE DIVISION.
1.
SEND AN EMTPY MAP
2.
USER - NEED TO KEY IN THE INPUT AND PRESS ANY AID KEY
3.
RECEVIE THE DATA + AUDIT + PROCESS + SEND RESULT
4.
USER:
1. PROVIDE ANOTHER INPUT --> REPEAT STEP-3 (RECEIVE +
AUDIT + PROCESS + SEND RESULT)
2. EXIT --> RECEIVE - RETURN
IN -> AT THE TIME OF USER INPUT -> WHAT UR PGM IS DOING? -> WAITING ==
RESOURCE WASTEAGE
P-CONVERSION:
USER - SCREEN - PROVIDE THE TRANS-ID -> TRIGGER THE PROCESS
PROCEDURE DIVISION.
1. FIRST TIME
SEND AN EMPTY MAP + RELEASE THE RESOURCE
. USER - TAKE HIS/HER OWN TIME -- INPUT -> PRESS AID KEY
2. SECOND/LATER TIME
RECEIVE + AUDIT + PROCESS + SEND RESULT + RELASE THE RESOURCE
EXCANHE OF THE MESSAGE B/W PGM & USER IN SEREIS OF TASK - PSEUDO-CONVERSION.
1. HOW DO U TELL THE PGM IF ITS RUNNING FOR 1ST TIME OR LATER
= EIBCALEN
2. WHEN USER PRESS ENTER KEY (AID) - HOW SYSTEM IS TRIGGERING THE SAME PGM AGAIN
= TO KEEP THE TRRAN-ID ON THE SCREEN
3. HOW THE PGM KNOW WHICH KEY THE USER PRESSED??/ =
EIBAID
EIBCALEN - > COMMAREA LENGTH VARIABLE -- CONTAINS LENTH OF THE COMM -AREA
PROCEDURE DIVISION.
000-MAIN-PARA.
IF EIBCALEN = 0
SEND + RELEASE (MOVE SOME WORK-AREA DATA TO COMMAREA )
ELSE
IF EIBAID = DFHPF1 - DO THIS
ELSE
IF EIBAID = DFHPF2 - DO THIS
WHEILE WE RLEASE THE PGM 1. KEEP SOME DATA IN COMMAREA (SO THE LENGTH IS
CHANGE)
2. KEEP THE TRAN-ID ON THE SCREEN AND RELEASE THE
RESOURECE.. 9SO WHEN USER PRESS ANY AID - THE PGM CAN TRIGGER)
C. HOW TO COMPILE:
1. MAPSET
2. PROG
3. TRAN
PPT (PROCESSING PROGRAM TABLE) --> LOAD --> CEDA DEF MAPSET(NAME) G(NAME)
CEDA INS MAPSET(NAME) G(NAME)
TRN1 -> PCT -> MSETADDP -> PPT - LOAD -> EXECUTE - TASK == 178
TRANS-ID ---> EVERY SCREEN PGM == 1 TRANS-ID..
NA , AFRIC, E , PUNE
TRN1 , TRN2 ,TRN3 , TRN4
PGM1
NA - EU , PUN
TRN1 (ABEND - STOPPED)
||
PGM1
ENVIRONEMENT DIVISION. NO USE (WE DONT DEFINE ANY FILE IN THIS DIVISION.)
DATA DIVISION.
FILE SECTION. - NO USE
WORKING-STORAGE SECTION.
01 MAPNAMEI.
-> INPUT , LENGTH , ATTRIBUTE
01 MAPNAMEO REDFEINES MAPNAMEI.
-> OUTPUT
2. DFHAID AID = ATTENTION IDENFIER -> KEY BOARD KEY - THAT CAN
TRIGGER THE TRANSACTION.
LIKE -> ENTER , PF1 , PF2 ,PF3..
10 DFHPF1 PIC
10 DFHPF2 PIC
LINKAGE SECTION.
2.
COMPILER -> A COPYBOOK -> DFHEIBLK** (LIEK SQLCA)
1. EIBCALEN
2. EIBAID
3. EIBRESP
PROCEDURE DIVISION.
CICS WHEN RECEIVE IT ONLY RECEIVE DATA FILED WHERE THE MDT IS ON FSET..
1. SEND OUR MAP = FRSET**
2. USER EDIT A FILED --> FSET = PRESS ENTER
--
1. SEND OUR MAP = FRSET
2. JUST PRESS ENTER - WITHOUT EDITING ANY FILED -> RECEIVE -> NOTHING -->
MAPFAIL ERROR** == ABEND
--
1. SEND OUR MAP = FRSET -> 1 DUMMY FILED - FSET
2. JUST PRESS TNER ==> WITHOUT EDITING ANY FILED --> RECIEVE -> DUMMY FILED
--> AVOID MAPFAIL ERROR /ABEND -> PLEASE TYPE INPUT
===================================================================================
=================
TYPE=MAP/DESCT/&SYSPARM /FINAL
DFHMSD TYPE=&SYSPARM,
DFHMSD TYPE=FINAL
LANG=COBOL
IN WHICH LANG U NEED THE COPYBOOK --> COBOL-CICS => LANG=COBOL
PLI-CICS -> LANG=PLI
LANG=ASM
WHEN USER PROVIDE THESE 2 INPUTS --> PRESS ENTER --> UR PGM -->
ATTRB-(PROT,NORM)
ATTRB=(PROT,BRK)
ATTRB=(UNPROT,NORM)
ATTRB=(UNPROT,NORM,IC)
ATTRB=(UNPROT,NORM,IC,NUM)
ATTRB=(UNPORT,DRK)
ATTRB=(UNPROT,NORM,FSET)
PICIN='9(04)',PICOUT='9(04)'
WHAT IS CICS** == CICS IS AN INTERFACE B/W APPLICATION PGM & DATA SORUCE/TARGET
USERID: _____
PASSWD: _____
SMAPLE CODE
FILENAME DFHMDF
DFHMDF
DFHMDF
ASM COMPILER --> ASMA90 --- BMS CODE AS INPUT ==> AFTER COMPILATION 2
OUTPUT 1. PHYSICAL MAP
2. SYMBOLIC
MAP
ONCE WE GOT THE PHYSICAL MAP --> EXECUTE AND SEE THE LAYOUT:
STEP2:
TO SEE THE MAP --> CECI SEND MAP(NAME) MAPSET(NAME) = PRESS ENTER FOR 2
TIMES
USERID: ______
PASSWD: ______
1. CICS -- DB/DC
CICS -- INTERFACE
PHY --> CICS --> SETUP --> CECI SEND TO SEE THE SCREEN
IBM --> 2 SONS 1. IMS -- STORE THE DATA = DB = DATABASE
== IMS-DC => MFS SCREEN
2. DB2 -- STORE THE DATA
COURSE PLAN:
2. DATABASE SYSTEM
3 TYPES 1. IDMS
2. IMS
3. DB2
2 KINDS -
2 WAYS 1. LOGIN TO MAINFRAME -> LEARN Z/OS -> LEARN SQL - SPUFI -> RUN A
QUERY TO SEE THE DATA
2. PROIVIDE HIM A SCREEN ASK HIM TO GIVE INPUT -> LET UR PGM - SQL
QUERY - GET DATA
WARE HOUSE -> PART INVERNTORY --> SUPERWISOR --> SHIPEMENT WILL COME, WHAT
SHIPMENT WILL COME TODAY
USER -- WANT TO INTERACTE WITH MAINFRAME DATA SOURCE (TABLE / FILE) -->
USER --> CICS SCREEN --> CICS-COBOL PGM --> DATA (TABLE/FILE)
CUSTOMER-ID --.
CUSTOMER -> WEB-PAGES (JAVA/.NET FRAMEWORK) --> WEB SERIVES --> MESSAGE QUEUE
--> CICS-PGM --> DATA
NOT TSQ-TDQ
FRIDGE == DB2 TABLE / FILE
BOTTLE == TSQ/TDQ
1. INTRODUCTION TO CICS
2. COBOL-CICS PGM
A. DESIGN THE BMS SCREEN
B. CODE THE COBOL-CICS PGM
C. HOW TO COMPILE
D. HOW TO SETUP THE CICS ENVIRONMENT
E. EXECUTE THE TRANSACTION 3-4 SESSION 90% THOERY , 10% TO DO A
PRACTICAL
3. COBOL-CICS - SUBPGM (NAVIGATION B/W SCREEN)
4. DATA PART:
1. COBOL-CICS-DB2 PGM
2. COBOL-CICS-FILE PGM =-= KSDS CLUSTER
3. COBOL-CICS-QUEUE (TSQ - TDQ)
5. SOME OF THE CICS COMMAND
6. ERROR HANDLING
===========================================================================
THIS TRAINING --> ENOGUH FOR UR INTERVIEW..
---> PROJECT --> NEED MORE UNDERSTAND OF THE ARH IN THE PROJECT