CICS

 

MODULAR Seperates business and presentation logic  
LINK if presentation logic is CICS/COBOL  
CONVERSATIONAL waits for user to enter data  
PSUEDO-CONVERSATIONAL Send or Send Map followed by RETURN  
Includes Tran-id to restart  
Receive or Receive Map to get I/P data and process  
Pgm doesn't sit idle waiting for data  
Must be able to figure out what started it - EVENT driven  
EVENT DRIVEN Design Identify and code for each trigger possible  
EVENT/RESPONSE Chart Event, Context, Response, New Context  
CICS Resources Tran-id, Program, Map Set, Files  
RDO Resource Definition Online - File Control Table  
Attribute Byte Controls how screen field will be displayed and protected - Symbolic Map description  
KEY MAP    
DATA MAP    
STRUCTURE CHART Shows processes to be performed  
  Common Module - appears more than once, shade upper right corner  
  Linked Program - use link command, stripe across the top of box  
  Called Program - use COBOL CALL statement, stripe across top of box  
EXECUTE CICS Pgm Enter term-id,   Task is started,  Task executes program  
TRAN-ID 4 characters  
PCT (Program Cntl Table) Tran-id paired with CICS program  
PPT (Processing Cntl Tbl) Lists all CICS programs and which are in main storage  
DFHCOMMAREA Main storage for programs or tasks to communicate with each other  
CSA (Common System Area) CICS control block that points to other control blocks, accessed thru "ASSIGN" command  
CWA (Common Work Area) Company data… name, date in MM/DD/YYYY format, other application specific data  
TCTUA (Terminal Control Tbl User Area) Data unique to terminal - maintained even when no task  
TWA (Transaction Work Area) Data unique to current transaction - gone when task ends  
Cursor Positioning SYMBOLIC - move -1 to field length, then issue SEND MAP with CURSOR (no value)  
  DIRECT - SEND MAP CURSOR(0 thru 1919) displacement = ((row-num -1) * 80) + (col-num -1)  
  IC option in BMS map definition (custno dfhmdf pos=(2,26), length=6, attrb=(normal, unprot, IC), initial='_____')  
EIBAID used to be Handle Aid  
RESP (response code) used to be Handle Condition  
BBL (Base Locator for Linkage) COBOL address of register  
ADDRESS command Exec CICS ADDRESS CWA(address of common-work-area) End-exec  
XCLT Transfer control  
SEND    
SEND MAP Exec CICS SEND MAP('mapname') MAPSET('mapsetname') FROM(name in copybook) ERASE  
RECEIVE    
RECEIVE MAP  Exec CICS RECEIVE MAP('mapname') MAPSET('mapsetname') INTO(name in copybook) ERASE  
LINK "Perform" program and return control to main program at the point it left  
GETMAIN    
RETURN    
To Prepare a mapset Source pgm containing BMS macro instructions is ASSEMBLED to produce Object Module (Physical Map) and a Symbolic Map.  Physical map is linked to create an Object module  
To Prepare a program Source program containing COBOL and CICS statements is TRANSLATED (convert CICS to COBOL statements), COMPILED to create Object Module (also processes Symbolic Map), then Link-Edited to create Load Module  
 
CICS SERVICE TRANSACTIONS    
CESN - logon CESN USER=userid,PS=pswd,NEWPS=newpswd  
CESF - logoff CESF LOGOFF/GOODNIGHT  
CEMT (Master Term Trans) CEMT SET PROGRAM(CUSTMNT1) NEWCOPY  
CEMT S     FILE(CUSTMAST) OPEN/CLOSE  
CEMT S     PR(CUSTMNT1) DISABLED/ENABLED  
CEMT S     TRANSACTION(MNT1) D/E  
  CEMT S     PR(CUSTMNT1) DPLSUBSET Check for terminal I/O
  CEMT INQUIRE FI(C*) all files start w/ 'C'
CEMT I      PR(CUSTMNT1)  
CEMT I      TRA(MNT1)  
CECI (Command Level Interpreter) CECI READ FILE(CUSTMAST) RIDFLD(123456)  
CECI SEND MAP(INQMAP1) MAPSET(INQSET1) ERASE  
CECS  Only checks syntax for command level interpreter  
CEDF (Execution Diagnostic Facility) CEDF - start EDF at this terminal  
CEDF T001 - start EDF at terminal T001  
CEDF MNTB - start EDF at any terminal running tran MNTB  
Execute Interface Block    
EIBAID Most recent AID character X(01)
EIBCALEN Length of COMMAREA S9(04) COMP
EIBCPOSN Displacement of cursor S9(04) COMP
EIBDATE Task start date 0CYYDDD (c=0=1900's, c=1=2000's) S9(07) COMP-3
EIBDS Most recent data set name X(08)
EIBFN Most recent CIC command code X(02)
EIBRCODE CICS response code X(06)
EIBRESP Exceptional condition code S9(08) COMP
EIBRESP2 Exceptional condition extended code S9(08) COMP
EIBRSRCE Most recent resource (map, pgm, file name) X(08)
EIBTIME Task start time - 0HHMMSS S9(07) COMP-3
EIBTRMID Terminal-id X(04)
EIBTRNID Transaction-id X(04)
 
DFHENTER ENTER key  
DFHCLEAR CLEAR key  
DFHNULL NULL value  
DFHPA1 PA1 key  
DFHPA2 PA2 key  
DFHPA3 PA3 key  
DFHPF1 PF01 key  
DFHPF2 PF02 key  
DFHPF3 PF03 key  
DFHPF4 PF04 key  
DFHPF5 PF05 key  
DFHPF6 PF06 key  
DFHPF7 PF07 key  
DFHPF8 PF08 key  
DFHPF9 PF09 key  
DFHPF10 PF10 key  
DFHPF11 PF11 key  
DFHPF12 PF12 key  
DFHPF13 PF13 key  
DFHPF14 PF14 key  
DFHPF15 PF15 key  
DFHPF16 PF16 key  
DFHPF17 PF17 key  
DFHPF18 PF18 key  
DFHPF19 PF19 key  
DFHPF20 PF20 key  
DFHPF21 PF21 key  
DFHPF22 PF22 key  
DFHPF23 PF23 key  
DFHPF24 PF24 key  
DFHOPID OPERID  
DFHMSRE Extended (standard) MSR  
DFHTRIG Trigger field  
DFHPEN CURSOR SELECT key  
DFHCLRP CLEAR PARTITION key  
DFHSTRF Structured field pseudo-AID  
ATTRIBUTES DFHBMSCA  
DFHBMPEM Printer end-of-message  
DFHBMPNL Printer new-line  
DFHBMASK Autoskip  
DFHBMUNP Unprotected  
DFHBMUNN Unprotected and numeric  
DFHBMPRO Protected  
DFHBMBRY Bright  
DFHBMDAR Dark  
DFHBMFSE Modified Data Tag (MDT) set  
DFHBMPRF Protected and MDT set  
DFHBMASF Autoskip and MDT set  
DFHBMASB Autoskip and bright  
DFHBMPSO Shift-out value, 0E  
DFHBMPSI Shift-in value, 0F  
DFHBMEOF Field erased  
DFHBMDET (3) Field detected  
DFHSA (2) Set Attribute (SA) order  
DFHERROR Error code  
DFHCOLOR (2) Color  
DFHPS (2) Programmed symbols  
DFHHLT (2) Highlight  
DFH3270 (2) Base 3270 field attribute  
DFHVAL (3) Validation  
DFHOUTLN (3) Field outlining attribute code  
DFHBKTRN (3) Background transparency attribute code  
DFHALL . Reset all to defaults  
DFHDFT Default  
DFHDFCOL (2) Default color  
DFHBLUE Blue  
DFHRED Red  
DFHPINK Pink  
DFHGREEN Green  
DFHTURQ Turquoise  
DFHYELLO Yellow  
DFHNEUTR Neutral color  
DFHBASE (2) Base programmed symbols  
DFHDFHI (2) Normal  
DFHBLINK Blink  
DFHREVRS Reverse video  
DFHUNDLN Underscore  
DFHMFIL (3) Mandatory fill  
DFHMENT (3) Mandatory enter  
DFHMFE (3) Mandatory fill and mandatory enter  
DFHMT (3) Trigger  
DFHMFT (3) Mandatory fill and trigger  
DFHMET (3) Mandatory enter and trigger  
DFHUNNOD Unprotected, non-display, non-print, nondetectable, MDT  
DFHUNIMD Unprotected, intensify, detectable, MDT  
DFHUNNUM Unprotected, numeric, MDT  
DFHUNINT Unprotected, numeric, intensify, detectable, MDT  
DFHUNNON Unprotected, numeric, non-display, non-print, nondetectable, MDT  
DFHPROTI Protected, intensify, detectable  
DFHPROTN Protected, nondisplay, nonprint, nondetectable  
DFHMFET (3) Mandatory fill and mandatory enter and trigger  
DFHDFFR Default outline  
DFHUNDER Underline  
DFHRIGHT Right vertical line  
DFHOVER Overline  
DFHLEFT Left vertical line  
DFHBOX Underline and right vertical and overline and left vertical  
DFHSOSI SOSI (shift out, shift in) = yes  
DFHTRANS (1) Background transparency  
DFHOPAQ (1) No background transparency  

MAPS:
All BMS macro instructions must follow the assembler's syntax rules.  Must use upper case except for INIT
 value of DFHMDF.  Comment lines, '*' in col 1 and col 72 must be blank.  The general syntax for assembler
language statement is:
         1         2         3         4         5         6         7
1234567890
1234567890123456789012345678901234567890123456789012345678901234567890
label                  (must begin in col 01, max 7 bytes, starts with alpha)
         op-cd         (must begin in col 10)
                parms  (seperated by comma, if continued, need non-blank in col 72
                        and continued line begins in col 16. If parm-value contains
                        space or special char, enclose within single quote.  If 
                        apostrophe is needed, use two (2) single quotes)
               TITLE 'BMS DEFINITION FOR EXAMPLE SCREEN'
               PRINT NOGEN                                                (don't print)
BMPS30   DFHMSD TYPE=&SYSPARM,                                         X  (both MAP and DSECT)
               MODE=INOUT,                                             X  (both i/p and o/p)
               LANG=COBOL,                                             X
               TIOAPFX=YES,                                            X  (always for COBOL)
               TERM=3270,                                              X
               STORAGE=AUTO                                               (maps not redefined)
*---------------------------------------------------------------------
BMSMAIN  DFHMDI SIZE=(24,80),LINE=1,COLUMN=1                              (mdi coded for ea map)
         DFHMDF POS=(1,2),LENGTH=7,ATTRB=(ASKIP,NORM),                 X
               INITIAL='BMSMAIN'
         DFHMDF POS=(1,64),LENGTH=5,ATTRB=(ASKIP,NORM),                X
               INITIAL='DATE:'
MAPDAT1  DFHMDF POS=(1,70),LENGTH=8
         DFHMDF POS=(2,64),LENGTH=5,ATTRB=(ASKIP,NORM),                X
               INITIAL='TIME:'
MAPTIM1  DFHMDF POS=(2,70),LENGTH=8,ATTRB=(ASKIP,NORM)
         DFHMDF POS=(4,23),LENGTH=34,ATTRB=(ASKIP,NORM),               X
               INITIAL='      ADMINISTRATION PORTAL       '
         DFHMDF POS=(7,23),LENGTH=34,ATTRB=(ASKIP,NORM),               X
               INITIAL='1. EMPLOYEE NAME                  '
         DFHMDF POS=(9,23),LENGTH=34,ATTRB=(ASKIP,NORM),               X
               INITIAL='1. EMPLOYEE ADDRESS               '
         DFHMDF POS=(12,23),LENGTH=22,ATTRB=(ASKIP,NORM),              X
               INITIAL='PLEASE SELECT CHOICE: '
MAPCHO   DFHMDF POS=(12,46),LENGTH=1,ATTRB=(UNPROT,NORM,IC,FSET),      X  (IC=init cursor posit)
               INITIAL='_'
         DFHMDF POS=(12,48),LENGTH=1,ATTRB=(ASKIP,NORM)
         DFHMDF POS=(19,17),LENGTH=33,ATTRB=(ASKIP,NORM),              X
               INITIAL='PLEASE MAKE YOUR CHOICE AND PRESS'
         DFHMDF POS=(19,51),LENGTH=16,ATTRB=(ASKIP,NORM),              X
               INITIAL='ENTER TO PROCESS'
MAPERR   DFHMDF POS=(22,23),LENGTH=50,ATTRB=(ASKIP,NORM)
         DFHMSD TYPE=FINAL                                                (last map in mapset)
         END
                                                              (last statement)

01. What are the common CICS tables, their contents and related programs?
    ANS: PCP PPT - Maps and programs
         KCP PCT - Transaction ID, program it starts, TWA size of transaction
         FCP FLT - (VSAM, BDAM, ISAM) options (Read, write, browse)
         TDP DCT - Sequential files
         LCP SNT - CSSN OPID/PSW/ and SCTY level
         TCP TCT - Terminals, sequential destinations
         JCP JCT - Journal destinations

02. How do you pass data between programs, transactions, and applications?
    What kind of data is passed?  How much data is passed?
    ANS:
                  TCTUA       TWA          CWA      TS    FILES     CA
                  (term)      (trans)    (system)

    Program-
    program         X           X           X        X      X       X

    Transaction-    X                       X        X      X       X
    transaction

    Application-
    application                             X        X      X      X
                   ----------------------------------------------------
                   small       small-      very     med-   med-   small-
                               medium      small    lge    lge    medium

 03. What considerations are there for terminal I/O?
    ANS: Data only / Map only

04. What considerations are there for line load and editing?
    ANS: Line Load      - Transmit as few bytes as practical
             Editing          - EOF key X'80' inflag for erase or delete.
                                    Blank mandatory fields.
             General Tech - Read, merge, edit

 05. What are some page building techniques and when are they to be used?
    ANS: Small amt of data     - Build all pages synchronously first
         Med-large amt of data - Build pages as requested synchronously
         Gigantic amt of data  - Build in background asynchronously
         BMS Paging            - No processing at all and overhead is
                                         not a consideration

 06. What ways can you start a program and why?
    ANS: XLT              - Automatically when system starts
         PLT              - Automatically when system starts
         START JC         - Asynchronous
         TRIGGER LEVEL TD - Asynchronous
         LINK             - Function subordinate to another
         XCTL             - Faster than link
         (KPATTACH)       - Old release only

07. What are the formatted areas of a dump and what are the common
    causes of dumps?
    ANS: FORMATTED AREAS                     COMMON CAUSES
         CSA                TCT                               ASRA - Program interrupt
         TUA                SEGMENT                     AICA - Time out
         PGM STG        FILE AREA                    APCT - No PPT entry
         TRACE TBL

08. For recovery, what facilities are available?
    ANS: DTB, emergency restart, forward recovery

09. How can you tell if CICS crashed for lack of storage?
    ANS: CSA SOSI bit is on

 10. How can you find TCA's in a partition dump?
    ANS: CSA - active DCA lowest  PRI chain
             - active DCA highest PRI chain
             - suspended DCA lowest  PRI
             - suspended DCA highest PRI
     Each DCA points to its TCA and the next and previous DCA

 11. What do you need in the start up deck for each file?
    ANS: DD cards

 12. Name some CSMT commands.
    ANS: SWI, NEW, ENA DISABLE, INSERV OUTSERV, SMU

 13. What is the difference between HANDLE AID and HANDLE CONDITION?
   ANS: AID       - KEY to interrupt
         CONDITION - Exceptional Condition
         PF/PA/ENTER/LIGHT PEN

 14. What is considered to be good program design?
    ANS: Top down design, Modularity by function, Structured program

 15. How should one approach tuning a CICS system?
    ANS: A. Measure the thruput (response time)
         B. Where are you today
         C. What is the CPU utilization
         D. Where is paging activity
         E. What is I/O activity

 16. Why would you use conversational versus pseudo conversational mode?
    ANS: Conversational - short / few transactions
         Pseudo         - long / many transactions

17. What is the difference between re-entrant, quasi re-entrant, and
    serially re-usable code?
    ANS: Re-entrant         - concurrently usable by multiple program
         Serially re-usable - usable by one program at a time
         Quasi re-entrant   - mixture of re-entrant and serially
      re-usable

 18. What are the advantages to using CICS vs the following?
    ANS: Depends on the nature of the application
         A. IMS                 - low  speed, high function
         B. TOTAL               - high speed, low  function
         C. IDMS                - low  speed, high function
         D. RYO (Roll Your Own) - very high speed, very high function

 


DB2
CICS
IMS
MQ
Stored Procedures
Resume


HOME