CICS ACCEPT (APPC) provides APPC input acceptance capabilities for programs and transactions. It enables programs to accept APPC input, process APPC communication, and handle APPC input validation in CICS environments.
CICS ACCEPT (APPC) is a command that allows programs to accept input from APPC (Advanced Program-to-Program Communication) sessions in the system. It provides APPC input acceptance capabilities, APPC communication processing, and APPC input validation for CICS applications.
123456EXEC CICS ACCEPT [FROM(data-area)] [LENGTH(data-length)] [CONVID(conversation-id)] [RESP(response-code)] END-EXEC
APPC message types
APPC session types
APPC protocol types
APPC mode types
1234567891011121314151617181920212223242526272829IDENTIFICATION DIVISION. PROGRAM-ID. ACCEPTAPPC01. DATA DIVISION. WORKING-STORAGE SECTION. 01 APPC-DATA PIC X(80). 01 APPC-LENGTH PIC S9(4) COMP. 01 CONVERSATION-ID PIC X(8). 01 RESPONSE-CODE PIC S9(8) COMP. PROCEDURE DIVISION. DISPLAY 'Accepting APPC input from conversation' DISPLAY 'Conversation ID: ' CONVERSATION-ID EXEC CICS ACCEPT FROM(APPC-DATA) LENGTH(APPC-LENGTH) CONVID(CONVERSATION-ID) RESP(RESPONSE-CODE) END-EXEC IF RESPONSE-CODE = DFHRESP(NORMAL) DISPLAY 'APPC input accepted successfully' DISPLAY 'APPC data: ' APPC-DATA DISPLAY 'APPC length: ' APPC-LENGTH ELSE DISPLAY 'APPC input acceptance failed' END-IF EXEC CICS RETURN END-EXEC.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354IDENTIFICATION DIVISION. PROGRAM-ID. ACCEPTAPPC02. DATA DIVISION. WORKING-STORAGE SECTION. 01 APPC-DATA PIC X(80). 01 APPC-LENGTH PIC S9(4) COMP. 01 CONVERSATION-ID PIC X(8). 01 RESPONSE-CODE PIC S9(8) COMP. 01 APPC-COUNT PIC S9(2) COMP VALUE 0. 01 MAX-APPC PIC S9(2) COMP VALUE 3. 01 APPC-STATUS PIC X(1). 01 APPC-LIST. 05 APPC-ITEM OCCURS 3 TIMES. 10 APPC-ID PIC X(8). 10 APPC-DATA PIC X(80). 10 APPC-LENGTH PIC S9(4) COMP. 10 APPC-STATUS PIC X(1). PROCEDURE DIVISION. PERFORM INITIALIZE-APPC-SESSIONS PERFORM ACCEPT-MULTIPLE-APPC-INPUTS EXEC CICS RETURN END-EXEC. INITIALIZE-APPC-SESSIONS. MOVE 'APPC001' TO APPC-ID(1) MOVE 'APPC002' TO APPC-ID(2) MOVE 'APPC003' TO APPC-ID(3). ACCEPT-MULTIPLE-APPC-INPUTS. PERFORM VARYING APPC-COUNT FROM 1 BY 1 UNTIL APPC-COUNT > MAX-APPC MOVE APPC-ID(APPC-COUNT) TO CONVERSATION-ID PERFORM ACCEPT-SINGLE-APPC-INPUT IF RESPONSE-CODE = DFHRESP(NORMAL) MOVE APPC-DATA TO APPC-DATA(APPC-COUNT) MOVE APPC-LENGTH TO APPC-LENGTH(APPC-COUNT) MOVE 'A' TO APPC-STATUS(APPC-COUNT) DISPLAY 'APPC input ' APPC-COUNT ' accepted successfully' ELSE MOVE 'F' TO APPC-STATUS(APPC-COUNT) DISPLAY 'APPC input ' APPC-COUNT ' acceptance failed' END-IF END-PERFORM. ACCEPT-SINGLE-APPC-INPUT. EXEC CICS ACCEPT FROM(APPC-DATA) LENGTH(APPC-LENGTH) CONVID(CONVERSATION-ID) RESP(RESPONSE-CODE) END-EXEC.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152IDENTIFICATION DIVISION. PROGRAM-ID. ACCEPTAPPC03. DATA DIVISION. WORKING-STORAGE SECTION. 01 APPC-DATA PIC X(80). 01 APPC-LENGTH PIC S9(4) COMP. 01 CONVERSATION-ID PIC X(8). 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 APPC-ACCEPT-SUCCESSFUL PIC X(1) VALUE 'N'. PROCEDURE DIVISION. PERFORM ACCEPT-APPC-INPUT-WITH-RETRY EXEC CICS RETURN END-EXEC. ACCEPT-APPC-INPUT-WITH-RETRY. PERFORM ACCEPT-APPC-INPUT IF RESPONSE-CODE NOT = DFHRESP(NORMAL) AND RETRY-COUNT < MAX-RETRIES ADD 1 TO RETRY-COUNT DISPLAY 'Retry ' RETRY-COUNT ' APPC input acceptance operation' PERFORM ACCEPT-APPC-INPUT-WITH-RETRY END-IF. ACCEPT-APPC-INPUT. EXEC CICS ACCEPT FROM(APPC-DATA) LENGTH(APPC-LENGTH) CONVID(CONVERSATION-ID) RESP(RESPONSE-CODE) END-EXEC EVALUATE RESPONSE-CODE WHEN DFHRESP(NORMAL) MOVE 'Y' TO APPC-ACCEPT-SUCCESSFUL DISPLAY 'APPC input acceptance operation successful' WHEN DFHRESP(NOTAUTH) DISPLAY 'Not authorized to accept APPC input' WHEN DFHRESP(INVREQ) DISPLAY 'Invalid APPC input acceptance request' WHEN DFHRESP(APPCERR) DISPLAY 'APPC input acceptance error' WHEN DFHRESP(APPCNOTFOUND) DISPLAY 'APPC conversation not found' WHEN DFHRESP(APPCINUSE) DISPLAY 'APPC conversation is in use' WHEN OTHER DISPLAY 'Unexpected APPC input acceptance error' END-EVALUATE.
Think of CICS ACCEPT (APPC) like receiving a phone call:
Create a program that accepts basic APPC input from conversations.
Write a program that processes multiple APPC input acceptances.
Implement comprehensive error handling for APPC input acceptance failures.