CICS ACCEPT provides input acceptance capabilities for programs and transactions. It enables programs to accept user input, process input data, and handle input validation in CICS environments.
CICS ACCEPT is a command that allows programs to accept input from users or other sources in the system. It provides input acceptance capabilities, input processing, and input validation for CICS applications.
12345EXEC CICS ACCEPT [FROM(data-area)] [LENGTH(data-length)] [RESP(response-code)] END-EXEC
Terminal input types
File input types
Network input types
System input types
1234567891011121314151617181920212223242526IDENTIFICATION DIVISION. PROGRAM-ID. ACCEPT01. DATA DIVISION. WORKING-STORAGE SECTION. 01 INPUT-DATA PIC X(80). 01 INPUT-LENGTH PIC S9(4) COMP. 01 RESPONSE-CODE PIC S9(8) COMP. PROCEDURE DIVISION. DISPLAY 'Accepting input from user' EXEC CICS ACCEPT FROM(INPUT-DATA) LENGTH(INPUT-LENGTH) RESP(RESPONSE-CODE) END-EXEC IF RESPONSE-CODE = DFHRESP(NORMAL) DISPLAY 'Input accepted successfully' DISPLAY 'Input data: ' INPUT-DATA DISPLAY 'Input length: ' INPUT-LENGTH ELSE DISPLAY 'Input acceptance failed' END-IF EXEC CICS RETURN END-EXEC.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253IDENTIFICATION DIVISION. PROGRAM-ID. ACCEPT02. DATA DIVISION. WORKING-STORAGE SECTION. 01 INPUT-DATA PIC X(80). 01 INPUT-LENGTH PIC S9(4) COMP. 01 RESPONSE-CODE PIC S9(8) COMP. 01 INPUT-COUNT PIC S9(2) COMP VALUE 0. 01 MAX-INPUTS PIC S9(2) COMP VALUE 5. 01 INPUT-STATUS PIC X(1). 01 INPUT-LIST. 05 INPUT-ITEM OCCURS 5 TIMES. 10 INPUT-ID PIC X(8). 10 INPUT-DATA PIC X(80). 10 INPUT-LENGTH PIC S9(4) COMP. 10 INPUT-STATUS PIC X(1). PROCEDURE DIVISION. PERFORM INITIALIZE-INPUTS PERFORM ACCEPT-MULTIPLE-INPUTS EXEC CICS RETURN END-EXEC. INITIALIZE-INPUTS. MOVE 'INPUT001' TO INPUT-ID(1) MOVE 'INPUT002' TO INPUT-ID(2) MOVE 'INPUT003' TO INPUT-ID(3) MOVE 'INPUT004' TO INPUT-ID(4) MOVE 'INPUT005' TO INPUT-ID(5). ACCEPT-MULTIPLE-INPUTS. PERFORM VARYING INPUT-COUNT FROM 1 BY 1 UNTIL INPUT-COUNT > MAX-INPUTS PERFORM ACCEPT-SINGLE-INPUT IF RESPONSE-CODE = DFHRESP(NORMAL) MOVE INPUT-DATA TO INPUT-DATA(INPUT-COUNT) MOVE INPUT-LENGTH TO INPUT-LENGTH(INPUT-COUNT) MOVE 'A' TO INPUT-STATUS(INPUT-COUNT) DISPLAY 'Input ' INPUT-COUNT ' accepted successfully' ELSE MOVE 'F' TO INPUT-STATUS(INPUT-COUNT) DISPLAY 'Input ' INPUT-COUNT ' acceptance failed' END-IF END-PERFORM. ACCEPT-SINGLE-INPUT. EXEC CICS ACCEPT FROM(INPUT-DATA) LENGTH(INPUT-LENGTH) RESP(RESPONSE-CODE) END-EXEC.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950IDENTIFICATION DIVISION. PROGRAM-ID. ACCEPT03. DATA DIVISION. WORKING-STORAGE SECTION. 01 INPUT-DATA PIC X(80). 01 INPUT-LENGTH PIC S9(4) 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 INPUT-ACCEPT-SUCCESSFUL PIC X(1) VALUE 'N'. PROCEDURE DIVISION. PERFORM ACCEPT-INPUT-WITH-RETRY EXEC CICS RETURN END-EXEC. ACCEPT-INPUT-WITH-RETRY. PERFORM ACCEPT-INPUT IF RESPONSE-CODE NOT = DFHRESP(NORMAL) AND RETRY-COUNT < MAX-RETRIES ADD 1 TO RETRY-COUNT DISPLAY 'Retry ' RETRY-COUNT ' input acceptance operation' PERFORM ACCEPT-INPUT-WITH-RETRY END-IF. ACCEPT-INPUT. EXEC CICS ACCEPT FROM(INPUT-DATA) LENGTH(INPUT-LENGTH) RESP(RESPONSE-CODE) END-EXEC EVALUATE RESPONSE-CODE WHEN DFHRESP(NORMAL) MOVE 'Y' TO INPUT-ACCEPT-SUCCESSFUL DISPLAY 'Input acceptance operation successful' WHEN DFHRESP(NOTAUTH) DISPLAY 'Not authorized to accept input' WHEN DFHRESP(INVREQ) DISPLAY 'Invalid input acceptance request' WHEN DFHRESP(INPUTERR) DISPLAY 'Input acceptance error' WHEN DFHRESP(INPUTNOTFOUND) DISPLAY 'Input not found' WHEN DFHRESP(INPUTINUSE) DISPLAY 'Input is in use' WHEN OTHER DISPLAY 'Unexpected input acceptance error' END-EVALUATE.
Think of CICS ACCEPT like asking someone a question:
Create a program that accepts basic input from users.
Write a program that processes multiple input acceptances.
Implement comprehensive error handling for input acceptance failures.