z/OS Communications Server: SNA Programmer's LU 6.2 Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Example of receiving a normal Half-duplex conversation deallocation

z/OS Communications Server: SNA Programmer's LU 6.2 Guide
SC27-3669-00

In the following example, an application program known as APPLA is receiving data over a conversation identified by the identifier stored in the CONVERID storage area. APPLA issues a RECEIVE and is returned information indicating that the partner has conditionally deallocated the conversation. For the purposes of this example, APPLA always responds positively to the confirmation request if a flag byte referred to by the STATUS label is set to zeros.
         L     9,CONVERID        * LOAD SAVED CONVERSATION ID
*
         APPCCMD CONTROL=RECEIVE,                                      X
               QUALIFY=SPEC,                                           X
               RPL=RPLA,                                               X
               AAREA=RPLAX,                                            X
               ACB=APPLA,                                              X
               CONVID=(9),                                             X
               OPTCD=SYN,                                              X
               AREA=RECAREA,                                           X
               AREALEN=255,                                            X
               FILL=LL,                                                X
               CONMODE=CS
*
         LTR   15,15             * CHECK GENERAL RETURN CODE IN 15
         BNZ   BADGENRC          * HANDLE NONZERO RETURN CODE
         LTR   0,0               * CHECK CONDITIONAL COMPLETION
         BNZ   BADCOND           * HANDLE NONZERO RETURN CODE
         LA    9,RPLAX           * LOAD RPL EXTENSION ADDRESS
         USING ISTRPL6X,9        * ESTABLISH ADDRESSABILITY
         MVC   SAVEMASK,RPL6RCV1 * SAVE WHAT-RECEIVED MASK
         BAL   14,DATACHK        * CHECK DATA, PERHAPS SET STATUS BYTE
         TM    SAVEMASK,RPL6WCFM * CONFIRMATION REQUEST INCLUDED?
         BNO   DEALCHCK          * IF NOT, CHECK DEALLOCATION INDICATOR
         CLI   STATUS,X'00'      * IF CONFIRMATION REQUEST, STATUS OK?
         BNE   NEGRESP           * IF NOT ISSUE NEGATIVE RESPONSE
*
* STATUS BYTE WAS OK, SO RESPOND POSITIVELY TO CONFIRMATION REQUEST.
*
         APPCCMD CONTROL=SEND,                                         X
               QUALIFY=CONFRMD,                                        X
               RPL=RPLA,                                               X
               AAREA=RPLAX,                                            X
               ACB=APPLA,                                              X
               CONVID=CONVERID,                                        X
               CONMODE=CS,                                             X
               OPTCD=SYN
*
         LTR   15,15             * CHECK GENERAL RETURN CODE IN 15
         BNZ   BADGENRC          * HANDLE NONZERO RETURN CODE
         LTR   0,0               * CHECK CONDITIONAL COMPLETION
         BNZ   BADCOND           * HANDLE NONZERO RETURN CODE
*
* AT THIS POINT THE CONFIRMATION RESPONSE HAS BEEN MADE AND THE
* RETURN CODES FROM IT WERE GOOD.  NOW CHECK FOR DEALLOCATION.
*
DEALCHCK TM    SAVEMASK,RPL6WDAL * DEALLOCATION INDICATOR SET?
         BNO   SENDCHCK          * IF NOT, GO TO NEXT INDICATOR CHECK
*
* AT THIS POINT, APPLA KNOWS IF THE CONVERSATION HAS BEEN DEALLOCATED.
*
                   •
                   •
                   •
CONVERID DS    XL4               * CONVERSATION ID
SAVEMASK DS    XL1               * STORAGE TO SAVE WHAT-RECEIVED MASK
STATUS   DC    X'00'             * RECEIVED DATA OK FLAG
RECAREA  DS    XL255             * RECEIVE STORAGE AREA
RPLA     RPL AM=VTAM             * RPL STORAGE
RPLAX    ISTRPL6                 * RPL EXTENSION STORAGE
APPLA    ACB AM=VTAM,MACRF=LOGON,APPLID=APPLNAME * ACB STORAGE

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014