In this example, an application program known as APPLA
is receiving data and needs to place the conversation in SEND state
normally (not because of an error condition). To do so, it uses the
RQSEND type of APPCCMD. The conversation identifier is contained in
register 8.
*
* FIRST ASK FOR PERMISSION TO SEND.
*
APPCCMD CONTROL=SEND, X
QUALIFY=RQSEND, X
RPL=RPLA, X
AAREA=RPLAX, X
ACB=APPLA, X
CONVID=(8), 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
*
* RETURN CODES WERE GOOD, BUT APPLA STAYS IN RECEIVE STATE UNTIL
* BEING INFORMED ON A RECEIVE MACRO.
*
APPCCMD CONTROL=RECEIVE, X
QUALIFY=SPEC, X
RPL=RPLA, X
AAREA=RPLAX, X
ACB=APPLA, X
CONVID=(8), X
AREA=RECAREA, X
AREALEN=255, X
FILL=LL, 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
*
* RETURN CODES WERE GOOD, NOW CHECK WHAT-RECEIVED INDICATOR FOR SEND.
*
LA 9,RPLAX * LOAD RPL EXTENSION ADDRESS
USING ISTRPL6X,9 * ESTABLISH ADDRESSABILITY
TM RPL6RCV1,RPL6WSND * CHECK SEND INDICATOR
*
* AT THIS POINT, IF THE INDICATOR BIT HAS BEEN SET APPLA KNOWS IT IS
* IN SEND STATE. IT MUST STILL HANDLE ANY DATA THAT WAS RECEIVED ON
* THE MACRO.
*
•
•
•
RECAREA DS XL255 * RECEIVE BUFFER
RPLA RPL AM=VTAM * RPL STORAGE
RPLAX ISTRPL6 * RPL EXTENSION STORAGE
APPLA ACB AM=VTAM,MACRF=LOGON,APPLID=APPLNAME * ACB STORAGE