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