LU 6.2 API Application Programmer's Reference Guide (30294-90008)

Appendix B 167
Sample Programs
COBOL II Program
025700 MOVE YES-SW TO QUIT-SW
025800 MOVE INTRINSIC-STATUS-INFO TO SENDDATA-RTRNCD
025900 DISPLAY SENDDATA-ERR-MSG,SENDDATA-RTRNCD.
026000*
026100 201099-EXIT.
026200 EXIT.
026300*
026400*----------------------------------------------------*
026500 202000-RECEIVE-DATA SECTION.
026600*----------------------------------------------------*
026700* This section calls MCRcvAndWait twice: once to
026800* receive a data record from the remote TP and once
026900* to receive the instruction to change to Send state.
027000* If this section receives a complete data record,
027100* it calls CTranslate to translate it to ASCII.
027200*
027300 MOVE FULL-RECORD TO RECEIVE-LENGTH.
027400*
027500 CALL INTRINSIC "MCRCVANDWAIT" USING RESOURCE-ID,
027600 RECEIVE-LENGTH,
027700 REQ-TO-SEND-REC,
027800 MASTER-DATA,
027900 WHAT-RECEIVED,
028000 INTRINSIC-STATUS.
028100*
028200 IF INTRINSIC-STATUS IS NOT EQUAL TO ZERO
028300 MOVE INTRINSIC-STATUS-INFO TO RCVANDWAIT-RTRNCD
028400 DISPLAY RCVANDWAIT-ERR-MSG,RCVANDWAIT-RTRNCD
028500 MOVE YES-SW TO QUIT-SW
028600 GO TO 202099-EXIT.
028700*
028800 IF WHAT-RECEIVED IS NOT EQUAL TO DATA-COMPLETE
028900 MOVE WHAT-RECEIVED TO DISPLAY-WHAT-RECEIVED
029000 DISPLAY WHAT-RECEIVED-MSG,DISPLAY-WHAT-RECEIVED
029100 MOVE YES-SW TO QUIT-SW
029200 GO TO 202099-EXIT.
029300*
029400 CALL INTRINSIC "MCRCVANDWAIT" USING RESOURCE-ID,
029500 RECEIVE-LENGTH,
029600 REQ-TO-SEND-REC,
029700 MASTER-DATA,
029800 WHAT-RECEIVED,
029900 INTRINSIC-STATUS.
030000*
030100 IF INTRINSIC-STATUS IS NOT EQUAL TO ZERO
030200 MOVE INTRINSIC-STATUS-INFO TO RCVANDWAIT-RTRNCD
030300 DISPLAY RCVANDWAIT-ERR-MSG,RCVANDWAIT-RTRNCD
030400 MOVE YES-SW TO QUIT-SW
030500 GO TO 202099-EXIT.
030600*
030700 IF WHAT-RECEIVED IS NOT EQUAL TO SEND-RECEIVED
030800 MOVE WHAT-RECEIVED TO DISPLAY-WHAT-RECEIVED