CICS GDS RECEIVE provides GDS data reception capabilities for programs and transactions. It enables programs to receive GDS data, handle GDS messages, and process GDS data in CICS environments.
CICS GDS RECEIVE is a command that allows programs to receive data from GDS processes in the system. It provides GDS data reception capabilities, GDS message handling, and GDS data processing for CICS applications.
123456EXEC CICS GDS RECEIVE [INTO(data-area)] [LENGTH(data-length)] [CONVID(conversation-id)] [RESP(response-code)] END-EXEC
GDS message data types
GDS data format types
GDS communication data types
GDS process data types
12345678910111213141516171819202122232425262728IDENTIFICATION DIVISION. PROGRAM-ID. GDSRECV01. DATA DIVISION. WORKING-STORAGE SECTION. 01 DATA-AREA PIC X(100). 01 DATA-LENGTH PIC S9(4) COMP VALUE 100. 01 CONVERSATION-ID PIC S9(8) COMP. 01 RESPONSE-CODE PIC S9(8) COMP. PROCEDURE DIVISION. DISPLAY 'Receiving GDS data' EXEC CICS GDS RECEIVE INTO(DATA-AREA) LENGTH(DATA-LENGTH) CONVID(CONVERSATION-ID) RESP(RESPONSE-CODE) END-EXEC IF RESPONSE-CODE = DFHRESP(NORMAL) DISPLAY 'GDS data received successfully' DISPLAY 'Data: ' DATA-AREA DISPLAY 'Length: ' DATA-LENGTH ELSE DISPLAY 'GDS data receive failed' END-IF EXEC CICS RETURN END-EXEC.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253IDENTIFICATION DIVISION. PROGRAM-ID. GDSRECV02. DATA DIVISION. WORKING-STORAGE SECTION. 01 DATA-AREA PIC X(100). 01 DATA-LENGTH PIC S9(4) COMP VALUE 100. 01 CONVERSATION-ID PIC S9(8) COMP. 01 RESPONSE-CODE PIC S9(8) COMP. 01 RECEIVE-COUNT PIC S9(2) COMP VALUE 0. 01 MAX-RECEIVES PIC S9(2) COMP VALUE 3. 01 GDS-STATUS PIC X(1). 01 MESSAGE-LIST. 05 MESSAGE-ITEM OCCURS 3 TIMES. 10 MESSAGE-ID PIC X(8). 10 MESSAGE-TYPE PIC X(8). 10 MESSAGE-STATUS PIC X(1). PROCEDURE DIVISION. PERFORM INITIALIZE-GDS-MESSAGES PERFORM RECEIVE-MULTIPLE-GDS-MESSAGES EXEC CICS RETURN END-EXEC. INITIALIZE-GDS-MESSAGES. MOVE 'MSG001' TO MESSAGE-ID(1) MOVE 'DATA' TO MESSAGE-TYPE(1) MOVE 'MSG002' TO MESSAGE-ID(2) MOVE 'CONTROL' TO MESSAGE-TYPE(2) MOVE 'MSG003' TO MESSAGE-ID(3) MOVE 'STATUS' TO MESSAGE-TYPE(3). RECEIVE-MULTIPLE-GDS-MESSAGES. PERFORM VARYING RECEIVE-COUNT FROM 1 BY 1 UNTIL RECEIVE-COUNT > MAX-RECEIVES PERFORM RECEIVE-SINGLE-GDS-MESSAGE IF RESPONSE-CODE = DFHRESP(NORMAL) MOVE 'R' TO MESSAGE-STATUS(RECEIVE-COUNT) DISPLAY 'GDS message ' RECEIVE-COUNT ' received successfully' ELSE MOVE 'F' TO MESSAGE-STATUS(RECEIVE-COUNT) DISPLAY 'GDS message ' RECEIVE-COUNT ' receive failed' END-IF END-PERFORM. RECEIVE-SINGLE-GDS-MESSAGE. EXEC CICS GDS RECEIVE INTO(DATA-AREA) LENGTH(DATA-LENGTH) CONVID(CONVERSATION-ID) RESP(RESPONSE-CODE) END-EXEC.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152IDENTIFICATION DIVISION. PROGRAM-ID. GDSRECV03. DATA DIVISION. WORKING-STORAGE SECTION. 01 DATA-AREA PIC X(100). 01 DATA-LENGTH PIC S9(4) COMP VALUE 100. 01 CONVERSATION-ID PIC S9(8) COMP. 01 RESPONSE-CODE PIC S9(8) COMP. 01 RETRY-COUNT PIC S9(2) COMP VALUE 0. 01 MAX-RETRIES PIC S9(2) COMP VALUE 3. 01 GDS-RECEIVE-SUCCESSFUL PIC X(1) VALUE 'N'. PROCEDURE DIVISION. PERFORM RECEIVE-GDS-DATA-WITH-RETRY EXEC CICS RETURN END-EXEC. RECEIVE-GDS-DATA-WITH-RETRY. PERFORM RECEIVE-GDS-DATA IF RESPONSE-CODE NOT = DFHRESP(NORMAL) AND RETRY-COUNT < MAX-RETRIES ADD 1 TO RETRY-COUNT DISPLAY 'Retry ' RETRY-COUNT ' GDS data receive operation' PERFORM RECEIVE-GDS-DATA-WITH-RETRY END-IF. RECEIVE-GDS-DATA. EXEC CICS GDS RECEIVE INTO(DATA-AREA) LENGTH(DATA-LENGTH) CONVID(CONVERSATION-ID) RESP(RESPONSE-CODE) END-EXEC EVALUATE RESPONSE-CODE WHEN DFHRESP(NORMAL) MOVE 'Y' TO GDS-RECEIVE-SUCCESSFUL DISPLAY 'GDS data receive operation successful' WHEN DFHRESP(NOTAUTH) DISPLAY 'Not authorized to receive GDS data' WHEN DFHRESP(INVREQ) DISPLAY 'Invalid GDS data receive request' WHEN DFHRESP(RECEIVEERR) DISPLAY 'GDS data receive operation error' WHEN DFHRESP(NODATA) DISPLAY 'No GDS data available' WHEN DFHRESP(DATAERR) DISPLAY 'GDS data error' WHEN OTHER DISPLAY 'Unexpected GDS data receive error' END-EVALUATE.
Think of CICS GDS RECEIVE like getting mail:
Create a program that receives basic GDS data.
Write a program that manages multiple GDS message receptions.
Implement comprehensive error handling for GDS data reception failures.