CICS ISSUE SEND provides message sending capabilities for programs and transactions. It enables programs to send messages, manage message transmission, and handle message sending in CICS environments.
CICS ISSUE SEND is a command that allows programs to send messages to users, terminals, or other systems. It provides message transmission capabilities, communication management, and message handling for CICS applications.
123456EXEC CICS ISSUE SEND [FROM(data-area)] [LENGTH(data-length)] [TERMINAL(terminal-id)] [RESP(response-code)] END-EXEC
Sending messages to terminals
Sending messages to systems
Sending data messages
Sending control messages
12345678910111213141516171819202122232425262728IDENTIFICATION DIVISION. PROGRAM-ID. SEND01. DATA DIVISION. WORKING-STORAGE SECTION. 01 MESSAGE-DATA PIC X(50) VALUE 'Hello from CICS program'. 01 MESSAGE-LENGTH PIC S9(8) COMP VALUE 50. 01 TERMINAL-ID PIC X(4) VALUE 'TERM'. 01 RESPONSE-CODE PIC S9(8) COMP. PROCEDURE DIVISION. DISPLAY 'Sending message to terminal...' EXEC CICS ISSUE SEND FROM(MESSAGE-DATA) LENGTH(MESSAGE-LENGTH) TERMINAL(TERMINAL-ID) RESP(RESPONSE-CODE) END-EXEC IF RESPONSE-CODE = DFHRESP(NORMAL) DISPLAY 'Message sent successfully' DISPLAY 'Message: ' MESSAGE-DATA(1:MESSAGE-LENGTH) DISPLAY 'Terminal: ' TERMINAL-ID ELSE DISPLAY 'Failed to send message' END-IF EXEC CICS RETURN END-EXEC.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253IDENTIFICATION DIVISION. PROGRAM-ID. SEND02. DATA DIVISION. WORKING-STORAGE SECTION. 01 MESSAGE-DATA PIC X(100). 01 MESSAGE-LENGTH PIC S9(8) COMP. 01 TERMINAL-ID PIC X(4) VALUE 'TERM'. 01 RESPONSE-CODE PIC S9(8) COMP. 01 MESSAGE-TYPE PIC X(1). 01 USER-ID PIC X(8) VALUE 'USER001'. PROCEDURE DIVISION. PERFORM DETERMINE-MESSAGE-TYPE PERFORM SEND-MESSAGE EXEC CICS RETURN END-EXEC. DETERMINE-MESSAGE-TYPE. *> Add logic to determine message type MOVE 'N' TO MESSAGE-TYPE. SEND-MESSAGE. EVALUATE MESSAGE-TYPE WHEN 'N' MOVE 'Notification message for user' TO MESSAGE-DATA MOVE 32 TO MESSAGE-LENGTH WHEN 'E' MOVE 'Error message: Operation failed' TO MESSAGE-DATA MOVE 33 TO MESSAGE-LENGTH WHEN 'S' MOVE 'Status message: Operation completed' TO MESSAGE-DATA MOVE 36 TO MESSAGE-LENGTH WHEN 'D' MOVE 'Data message: Processing results' TO MESSAGE-DATA MOVE 35 TO MESSAGE-LENGTH WHEN OTHER MOVE 'General message from system' TO MESSAGE-DATA MOVE 28 TO MESSAGE-LENGTH END-EVALUATE EXEC CICS ISSUE SEND FROM(MESSAGE-DATA) LENGTH(MESSAGE-LENGTH) TERMINAL(TERMINAL-ID) RESP(RESPONSE-CODE) END-EXEC IF RESPONSE-CODE = DFHRESP(NORMAL) DISPLAY 'Message sent to user: ' USER-ID DISPLAY 'Message: ' MESSAGE-DATA(1:MESSAGE-LENGTH) ELSE DISPLAY 'Failed to send message' END-IF.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748IDENTIFICATION DIVISION. PROGRAM-ID. SEND03. DATA DIVISION. WORKING-STORAGE SECTION. 01 MESSAGE-DATA PIC X(50) VALUE 'Test message from CICS'. 01 MESSAGE-LENGTH PIC S9(8) COMP VALUE 50. 01 TERMINAL-ID PIC X(4) VALUE 'TERM'. 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. PROCEDURE DIVISION. PERFORM SEND-MESSAGE-WITH-RETRY EXEC CICS RETURN END-EXEC. SEND-MESSAGE-WITH-RETRY. PERFORM SEND-MESSAGE IF RESPONSE-CODE NOT = DFHRESP(NORMAL) AND RETRY-COUNT < MAX-RETRIES ADD 1 TO RETRY-COUNT DISPLAY 'Retry ' RETRY-COUNT ' sending message' PERFORM SEND-MESSAGE-WITH-RETRY END-IF. SEND-MESSAGE. EXEC CICS ISSUE SEND FROM(MESSAGE-DATA) LENGTH(MESSAGE-LENGTH) TERMINAL(TERMINAL-ID) RESP(RESPONSE-CODE) END-EXEC EVALUATE RESPONSE-CODE WHEN DFHRESP(NORMAL) DISPLAY 'Message sent successfully' WHEN DFHRESP(INVREQ) DISPLAY 'Invalid send request' WHEN DFHRESP(LENGERR) DISPLAY 'Message length error' WHEN DFHRESP(TERMIDERR) DISPLAY 'Terminal ID error' WHEN DFHRESP(COMMERR) DISPLAY 'Communication error occurred' WHEN OTHER DISPLAY 'Unexpected error occurred' END-EVALUATE.
Think of CICS ISSUE SEND like sending a letter:
Create a program that sends a basic message to a terminal.
Write a program that sends different messages based on conditions.
Implement comprehensive error handling for message send failures.