Previous Topic: Transaction CheckingNext Topic: CA Top Secret CICS Exits


Coding Samples

Use the coding examples provided in this section as customization samples.

Test TSSCAI Using Temporary Storage Record

This section contains a customization sample.

           TITLE 'TESTCAI 1' --- TSS CICS APPLIATION INTERFACE
*******************************************************************
* NAME     - TESTCAI1 0
* FUNCTION - COMMAND LEVEL ASSEMBLER CODE ...... 0
*            TEST TSSCAI USING TEMPORARY STORAGE RECORD. 0
* CALLS    - THE CICS APPLICATION INTERFACE PROGRAM 0
*******************************************************************
         EJECT
DFHIESTG DSECT
TSSQID   DS    0CL8       TEMPORARY STORAGE QUEUE NAME
TSSQPREF DS    CL4        QUEUE ID PREFIX IS ALWAYS 'TSSA'
TSSQTERM DS    CL4        QUEUE NAME SUFFIX IS TERMINAL NAME
TSSCREC  DS    2CL185     PARAMETER LIST FOR TSSCAI
TSSITEM  DS    H
         EJECT
R2       EQU   2
TESTCAI1 CSECT
* TELL CICS TO IGNORE A QUEUE NOT FOUND CONDITION. 
         EXEC CICS IGNORE  CONDITION QIDERR
*
* PURGE THE QUEUE OF ANY OLD REQUESTS.
*
         MVC   TSSQPREF,=CL4'TSSA'
         MVC   TSSQTERM,=EIBTRMID
*
         EXEC  CICS DELETEQ TS QUEUE(TSSQID)
* RESET THE HANDLE.
*
         EXEC  CICS HANDLE CONDITION QIDERR
         EXEC  CICS IGNORE CONDITION LENGERR
*
* BUILD THE TSSCPL PARAMETER LIST.
         MVC   TSSQPREF,=CL4'TSSA'
         MVC   TSSQTERM,EIBTRMID
         LA    R2,TSSCREC          R2 @ OF PARAMETER LIST
         USING TSSCPL,R2           ESTABLISH ADDRESSABILITY
         MVC   TSSHEAD,=CL8'TCPLV3L0'
         MVC   TSSCLASS,=CL8'FIELD '
         MVC   TSSRNAME,=CL8'TSSFIELD'
         MVC   TSSPPGM,=CL8' '
         XC    TSSACC,TSSACC
*
* WRITE THE REQUEST RECORD TO TEMPORARY STRORAGE.
*
         EXEC  CICS WRITEQ TS QUEUE(TSSQID)			X
               FROM(TSSCREC) LENGTH(TSSLNGTH) MAIN
*
* INVOKE THE TSS APPLICATION INTERFACE TO PROCESS THE REQUEST
*
         EXEC  CICS LINK PROGRAM('TSSCAI')
*
* READ THE REQUEST RECORD BACK FROM TEMPORARY STORAGE.
         EXEC  CICS READQ TS QUEUE(TSSQID)			X
               INTO(TSSCREC) LENGTH(TSSLNGTH)
*
* PURGE THE REQUEST QUEUE.
         EXEC  CICS DELETEQ TS QUEUE(TSSQID)
*
* RETURN TO CICS
*
         EXEC  CICS RETURN

* WORKING STORAGE.
*
TSSLNGTH DC    H'+370'
         #TSSCPL               CICS PARAMETER LIST
         END

Test TSSCAI Using CICS COMMAREA

This section contains a customization sample.

            TITLE 'TESTCAI2 --- CICS APPLICATION INTERFACE'
****************************************************************
*
* NAME      - TESTCAI2
*
* FUNCTION  - COMMAND LEVEL ASSEMBLER CODE ......
*             TEST TSSCAI USING CICS COMMAREA.
*
* CALLS     - THE CICS APPLICATION INTERFACE PROGRAM
*
****************************************************************
*
          EJECT
DFHEISTG  DSECT
TSSCREC   DS     CL185                PARAMETER LIST LENGTH
          DS     CL185                PARAMETER LIST LENGTH
          EJECT
R2        EQU    2                    BASE REG FOR PARAMETER LIST
TESTCAI2  CSECT
*
* BUILD THE TSSCPL PARAMETER LIST.
*
          LA     R2,TSSCREC           R2 @ PARAMETER LIST
          USING  TSSCPL,R2            ESTABLISH ADDRESSABILITY
          MVC    TSSHEAD,=CL8'TCPLV3L0'
          MVC    TSSCLASS,=CL8'FIELD '
          MVC    TSSCLASS,=CL8'TSSFIELD'
          MVC    TSSPPGM,=CL8' '
          XC     TSSACC,TSSACC
* INVOKE THE TSS APPLICATION INTERFACE TO PROCESS THE REQUEST.
*
          EXEC CICS LINK PROGRAM('TSSCAI') COMMAREA(TSSCPL) LENGTH(370)
*
* RETURN TO CICS
*
          EXEC CICS RETURN
*
* WORKING STORAGE.
*
*         #TSSCPL
          END