Receive data on an established APPC conversation. Typically paired with LINKed partner programs and prior ALLOCATE or ACCEPT.
123456EXEC CICS RECEIVE CONVID(conversation-id) INTO(data-area) FLENGTH(length-area) RESP(resp) RESP2(resp2) END-EXEC.
First determine required length, then allocate buffer accordingly to avoid LENGERR:
1234567891011121314151617* First call to get length EXEC CICS RECEIVE CONVID(WS-CONVID) FLENGTH(WS-RCV-LEN) RESP(WS-RESP) END-EXEC. IF WS-RESP = DFHRESP(LENGERR) OR WS-RESP = DFHRESP(NORMAL) EXEC CICS GETMAIN SET(WS-RCV-PTR) LENGTH(WS-RCV-LEN) END-EXEC SET ADDRESS OF WS-RCV-BUF TO WS-RCV-PTR EXEC CICS RECEIVE CONVID(WS-CONVID) INTO(WS-RCV-BUF) FLENGTH(WS-RCV-LEN) RESP(WS-RESP) END-EXEC END-IF.
CONVID or state; verify prior ALLOCATE/ACCEPT.FLENGTH to capture the number of bytes received.CONVID from ALLOCATE/ACCEPT.123456789101112EXEC CICS RECEIVE CONVID(WS-CONVID) INTO(WS-RCV-BUF) FLENGTH(WS-RCV-LEN) RESP(WS-RESP) RESP2(WS-RESP2) END-EXEC. IF WS-RESP = DFHRESP(NORMAL) PERFORM PROCESS-INCOMING-DATA ELSE PERFORM HANDLE-APPC-ERROR END-IF.