cicsT2

  1. INQCOB working storage
    • WORKING-STORAGE SECTION.
    • 01  SWITCHES.
    • 05  VALID-DATA-SW  PIC X(01)  VALUE 'Y'.
    •    88 VALID-DATA   VALUE 'Y'.
    • 01  FLAGS.
    • 05  SEND-FLAG   PIC X(01).
    •    88  SEND-ERASE   VALUE '1'.
    •    88  SEND-DATAONLY   VALUE '2'.
    •    88  SEND-DATAONLY-ALARM  VALUE '3'.
    • 01  COMMUNICATION-AREA.
    • 05 CONTEXT-FLAG PIC X(01).
    •   88 GET-CUST   VALUE '1'.
    •   88 CLEAR-CUST VALUE '2'.
    • 01  RESPONSE-CODE PIC S9(08) COMP.
    • COPY BIDDER.
    • COPY INQM3C.
    • COPY DFHAID.
    • COPY ATTR.
    • LINKAGE SECTION.
    • 01  DFHCOMMAREA PIC X(01).
  2. make pseudo-conversational
    • A RETURN command that sets up the next execution of a program
    • DFHCOMMAREA  in LS
    • COMMUNICATION-AREA in WS
    • MOVE DFHCOMMAREA TO COMMUNICATION-AREA

    • EXEC CICS
    •      RETURN TRANSID('INQ1')
    •      COMMAREA(COMMUNICATION-AREA)
    • END-EXEC.
  3. Receive INQ map
    • EXEC CICS
    •      RECEIVE MAP('INQMAP1')
    •      MAPSET('INQSET1')
    •      INTO(INQMAP1I)
    • END-EXEC.
    • INSPECT INQMAPI
    •       REPLACING ALL '_' BY SPACE.
  4. Read CUSTMAS INTO CUST-MAS-REC
    • EXEC CICS
    •      READ FILE('CUSTMAS')
    •      INTO(CUST-MAS-REC)
    •      RIDFLD(CUSTNOI)
    •      RESP(RESPONSE-CODE)
    • END-EXEC.
  5. ABEND PROGRAM
    • EXEC CICS
    •      ABEND [NODUMP]
    • END-EXEC
  6. The syntax of the SEND MAP command
    • EXEC CICS
    •      SEND MAP(map-name)
    •      [MAPSET(mapset-name)]
    •      [FROM(data-name)]
    •      [MAPONLY | DATAONLY]
    •      [ERASE]
    •      [ALARM]
    •      [FREEKB]
    •      [CURSOR]
    • END-EXEC
  7. An If statement that tests the response code after
    a read operation
    IF RESPONSE-CODE = DFHRESP(NORMAL)

    OR NOTFND
  8. command that invokes a program named INVMENU
    • EXEC CICS
    •      XCTL PROGRAM('INVMENU')
    • END-EXEC.
  9. Parts of event/response chart
    Event, Context, Response, New context
  10. free the keyboard while sending map
  11. the JCL parameter that appears at the end of the job to point to your program name
    • //LKED.SYSIN DD *
    •    NAME MENUP3C(R)
  12. to have CICS point to the newest version of your program,
    EMT SET PROG(MENUP3c) NEW
  13. to remove the underscores
    • INSPECT MENUI
    •      REPLACING ALL '_' BY SPACE.
  14. f your file is not open, you will
    I need to type: CEMT SET FI(CSTMST3c) OPE
  15. can end a CICS application using
    • RETURN
    • XCTL
    • LINK
    • ABEND
  16. when first pass
    • EVALUATE TRUE
    • WHEN EIBCALEN = ZERO OR EIBAID = DFHCLEAR
    • MOVE LOW-VALUE TO INQUIRYO
    • MOVE 'Type a customer bid number. Then press ENTER.'
    • TO INSTRO
    • MOVE '_______' TO CUSTNOO
    • SET SEND-ERASE TO TRUE
    • PERFORM 1400-SEND-CUSTOMER-MAP
    • SET GET-CUST TO TRUE
  17. when PA1
    • WHEN EIBAID = DFHPA1 OR DFHPA2 OR DFHPA3
    •  CONTINUE
  18. on enter
    • WHEN EIBAID = DFHENTER
    •  IF GET-CUST
    •    PERFORM 1000-DISPLAY-CUSTOMER-DATA
    •  ELSE
    •    PERFORM 2000-CLEAR-CUSTOMER-DATA
    •  END-IF
  19. on F3 transfers control to menu
    • WHEN EIBAID = DFHPF3 OR DFHPF12
    •  EXEC CICS
    •      XCTL PROGRAM ('MENUP3C')
    •  END-EXEC
  20. on other keys
    • WHEN OTHER
    •  MOVE LOW-VALUE TO INQUIRYO
    •  MOVE 'Invalid key pressed.' TO MESSAGEO
    •  SET SEND-DATAONLY-ALARM TO TRUE
    •  PERFORM 1400-SEND-CUSTOMER-MAP
    • END-EVALUATE
  21. PERFORM 1100-RECEIVE-CUSTOMER-MAP
    • EXEC CICS
    • RECEIVE MAP('INQUIRY')
    •        MAPSET('INQM3C')
    •        INTO(INQUIRYI)
    • END-EXEC
    • INSPECT INQUIRYI
    • REPLACING ALL '_' BY SPACE.
  22. 1200-EDIT-CUSTOMER-DATA.
    • EVALUATE TRUE
    • WHEN CUSTNOI = SPACES OR CUSTNOL = 0
    •  PERFORM 1240-CUSTNO-ERROR
    •  MOVE '_______' TO CUSTNOO
    •  MOVE 'You entered nothing or spaces.' TO MESSAGEO
    • WHEN CUSTNOL > 0 AND CUSTNOL < 8
    •  CONTINUE
    • WHEN OTHER
    •  PERFORM 1240-CUSTNO-ERROR
    •  MOVE '1200 WHEN OTHER.' TO MESSAGEO
    • END-EVALUATE.
    • 1240-CUSTNO-ERROR.
    • MOVE 'N' TO VALID-DATA-SW
    • MOVE 'Type a customer bid number. Then press ENTER.'
    •  TO INSTRO
    • MOVE ATTR-PINK TO CUSTNOC
    • MOVE ATTR-NEUTRAL TO INSTRC
    • MOVE ATTR-UNPROT-NUM-BRT TO CUSTNOA
    • MOVE -1 TO CUSTNOL.
  23. Read customer record
    • EXEC CICS
    • READ FILE('CSTMST3C')
    •     INTO(BIDDER-MASTER-RECORD)
    •     RIDFLD(CUSTNOI)
    •     RESP(RESPONSE-CODE)
    • END-EXEC
  24. check read conditions
    • EVALUATE TRUE
    • WHEN RESPONSE-CODE = DFHRESP(NORMAL)
    •    MOVE BM-CUSTOMER-NUMBER TO CUSTNOO
    •    MOVE BM-FIRST-NAME      TO FIRSTNAMEO
    •    MOVE BM-LAST-NAME       TO LASTNAMEO
    •    MOVE SPACE TO MESSAGEO
    •    MOVE 'Press Enter to continue.' TO INSTRO
    •    SET CLEAR-CUST TO TRUE
    • WHEN RESPONSE-CODE = DFHRESP(NOTFND)
    •    PERFORM 1240-CUSTNO-ERROR
    •    MOVE 'That customer does not exist.' TO MESSAGEO
    • WHEN RESPONSE-CODE = DFHRESP(NOTOPEN)
    •    MOVE 'N' TO VALID-DATA-SW
    •    MOVE '_______' TO CUSTNOO
    •    MOVE SPACE TO INQUIRYO
    •    MOVE 'The file is not open.' TO MESSAGEO
    • WHEN OTHER
    •    EXEC CICS
    •        ABEND
    •    END-EXEC
    • END-EVALUATE.
  25. 1400-SEND-CUSTOMER-MAP.
    opening
    • MOVE 'IN3C' TO TRANIDO
    • MOVE -1 TO CUSTNOL
    • EVALUATE TRUE
    • WHEN SEND-ERASE
  26. WHEN SEND-ERASE
    • EXEC CICS
    •    SEND MAP('INQUIRY')
    •         MAPSET('INQM3C')
    •         FROM(INQUIRYO)
    •         CURSOR
    •         ERASE
    • END-EXEC
  27. WHEN SEND-DATAONLY
    • EXEC CICS
    •    SEND MAP('INQUIRY')
    •         MAPSET('INQM3C')
    •         FROM(INQUIRYO)
    •         CURSOR
    •         DATAONLY
    • END-EXEC
  28. send other
    • WHEN OTHER
    • EXEC CICS
    •    SEND MAP('INQUIRY')
    •         MAPSET('INQM3C')
    •         FROM(INQUIRYO)
    •         CURSOR
    •         DATAONLY
    •         ALARM
    •         FREEKB
    • END-EXEC
  29. 1. What SEND MAP option do you code to send just the data in the symbolic map?
    dataonly
  30. 2. What SEND MAP option do you code to send just the physical map?
    MAPONLY
  31. 3. What option do you code on a READ command to indicate you intend to rewrite or delete the record?
    UPDATE
  32. 4. To find out whether an exceptional condition occurred during the execution of a CICS command, you check the .
    • set RESP(RESPONSE-CODE) in EXEC CICS
    • RESPONSE-CODE
    • = DFHRESP(NORMAL)
    • =DFHRESP(NOTFND)
    • =DFHRESP(NOTOPEN)
    • =DFHRESP(DUPREC)
  33. 5. What exceptional condition occurs when you attempt to write a file record with a key that’s already in the file?
    RESPONSE-CODE=DFHRESP(DUPREC)
  34. 6. What exceptional condition is raised when you try to read a record that doesn’t exist?
    • set RESP(RESPONSE-CODE) in EXEC CICS
    • RESPONSE-CODE
    • =DFHRESP(NOTFND)
  35. 7. Context information that’s identified in the event/response chart is usually maintained across program sessions by storing it in the ____________________________.
    • 01  COMMUNICATION-AREA.
    • 05 CONTEXT-FLAG PIC X(01).
    •   88 GET-CUST VALUE '1'.
    •   88 CLEAR-CUST VALUE '2'.
    • LINKAGE SECTION.
    • 01 DFHCOMMAREA PIC X(01).
    • PROCEDURE DIVISION.
    • 0000-PROCESS-CUSTOMER-INQUIRY.
    • MOVE DFHCOMMAREA TO COMMUNICATION-AREA
    • ...
    • EXEC CICS
    • RETURN COMMAREA(COMMUNICATION-AREA)
    •       TRANSID('IN3C')
    • END-EXEC.
  36. 8. Which service transaction should you issue to update the Processing Program Table so it points to a new version of a program? _____________
    CEMT SET PROG(INQP3C) NEW
  37. 9. The XCTL command transfers control to a program at the next _________ logical level
    • same
    • EXEC CICS
    •    XCTL PROGRAM(program-name)
    •   [COMMAREA(data-name)]
    • END-EXEC

    • EXEC CICS
    •    XCTL PROGRAM(PROGRAM-NAME(ACTION-SUB))
    •         RESP(RESPONSE-CODE)
    • END-EXEC
  38. 10. The LINK command transfers control to a program at the next _________ logical level
    • lower
    • EXEC CICS
    •   LINK
    •     PROGRAM(program-name)
    •     [COMMAREA(ws-name)]
    •     [DATALENGTH(data-name|literal]

    END-EXEC
  39. 11. The RETURN command transfers control to a program at the next ___________ logical level
    • higher
    • EXEC CICS
    •   RETURN
    •     [TRANSID(trans-id)]
    •     [COMMAREA(data-name)]
    • END-EXEC
  40. 12. Which options do you code on a RETURN command if you wish to end the program?
    • no option
    • EXEC CICS
    •    RETURN
    • END-EXEC
  41. 13. Which options do you code on a RETURN command if you wish to end the program pseudoconversationally?
    • EXEC CICS
    • RETURN
    •   TRANID(trans-id)
    •   COMMAREA(data-name)
    • END-EXEC
  42. 14. When should you code the ERASE option on a SEND MAP command?
    Causes the contents of the screen to be erased before data is displayed.
  43. how do you check for first run
    • The EIBCALEN field contains the length of the data passed to the program through its communication area (DFHCOMMAREA)
    • EIBCALEN  = 0
  44. 15. The communication area commonly includes
    Flags and 88 levels
  45. 16. Which service transaction do you use to close or open a file?
    CEMT SET FI(CSTMST3c) OPE
  46. XCTL VS RETURN
    • XCTL PROGRAM ('MENUP3C')
    • RETURN TRANID(trans-id)
  47. syntax to READ
    • EXEC CICS
    •   READ FILE(fileName)  INTO(dataName)
    •   RIDFLD(key)
    •   [UPDATE]
    •   RESP(RESP-CODE)
    • END-EXEC
  48. syntax to WRITE
    • EXEC CICS
    •   WRITE FILE('fileName')
    •   FROM(recName)
    •   RIDFLD(key)
    •   RESP(resp-code)
    • END-EXEC
  49. syntax to REWRITE
    • EXEC CICS
    •   REWRITE FILE('file')
    •     FROM(recName)
    •     RESP(resp-code)
    • END-EXEC
    • must do READ before
  50. syntax for delete
    • first read with update
    • EXEC CICS
    •   DELETE FILE('fileName')
    •   RESP(resp-code)
    • END-EXEC
  51. PROBLEMS WHEN UPDATING FILES
    One program changes or deletes a record while another is trying to update it.

    Deadlock.
  52. WHEN lines in 0000
    • WHEN EIBCALEN = ZERO
    • WHEN EIBAID = DFHPF3
    • WHEN EIBAID=DFHCLEAR
    • WHEN EIBAID=DFHENTER
    • WHEN OTHER
  53. Read, Write
    • READ FILE(filename) INTO(data-name) RIDFLD(data-name) [UPDATE] RESP(RESPONSE-CODE)
    • WRITE FILE(filename) FROM(data-name) RIDFL(data-name) RESP(RESPONSE-CODE)
Author
slc53
ID
339144
Card Set
cicsT2
Description
cicsT2
Updated