CICS INVOKE APPLICATION provides application invocation capabilities for programs and transactions. It enables programs to invoke applications, manage application execution, and handle application processing in CICS environments.
CICS INVOKE APPLICATION is a command that allows programs to invoke applications in the system. It provides application invocation capabilities, application execution management, and application processing for CICS applications.
123456EXEC CICS INVOKE APPLICATION APPLICATION(application-name) [PARAMETER(parameter-data)] [LENGTH(parameter-length)] [RESP(response-code)] END-EXEC
Business application types
System application types
Communication application types
Processing application types
12345678910111213141516171819202122232425262728IDENTIFICATION DIVISION. PROGRAM-ID. INVAPP01. DATA DIVISION. WORKING-STORAGE SECTION. 01 APPLICATION-NAME PIC X(8) VALUE 'ORDERAPP'. 01 PARAMETER-DATA PIC X(100) VALUE 'ORDER123'. 01 PARAMETER-LENGTH PIC S9(4) COMP VALUE 7. 01 RESPONSE-CODE PIC S9(8) COMP. PROCEDURE DIVISION. DISPLAY 'Invoking application' DISPLAY 'Application: ' APPLICATION-NAME DISPLAY 'Parameter: ' PARAMETER-DATA EXEC CICS INVOKE APPLICATION APPLICATION(APPLICATION-NAME) PARAMETER(PARAMETER-DATA) LENGTH(PARAMETER-LENGTH) RESP(RESPONSE-CODE) END-EXEC IF RESPONSE-CODE = DFHRESP(NORMAL) DISPLAY 'Application invoked successfully' ELSE DISPLAY 'Application invocation failed' END-IF EXEC CICS RETURN END-EXEC.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960IDENTIFICATION DIVISION. PROGRAM-ID. INVAPP02. DATA DIVISION. WORKING-STORAGE SECTION. 01 APPLICATION-NAME PIC X(8). 01 PARAMETER-DATA PIC X(100). 01 PARAMETER-LENGTH PIC S9(4) COMP VALUE 100. 01 RESPONSE-CODE PIC S9(8) COMP. 01 INVOKE-COUNT PIC S9(2) COMP VALUE 0. 01 MAX-INVOKES PIC S9(2) COMP VALUE 3. 01 APP-STATUS PIC X(1). 01 APPLICATION-LIST. 05 APP-ITEM OCCURS 3 TIMES. 10 APP-ID PIC X(8). 10 APP-TYPE PIC X(8). 10 APP-PARAMETER PIC X(50). 10 APP-STATUS PIC X(1). PROCEDURE DIVISION. PERFORM INITIALIZE-APPLICATIONS PERFORM INVOKE-MULTIPLE-APPLICATIONS EXEC CICS RETURN END-EXEC. INITIALIZE-APPLICATIONS. MOVE 'ORDERAPP' TO APP-ID(1) MOVE 'BUSINESS' TO APP-TYPE(1) MOVE 'ORDER123' TO APP-PARAMETER(1) MOVE 'INVENTORY' TO APP-ID(2) MOVE 'BUSINESS' TO APP-TYPE(2) MOVE 'INV001' TO APP-PARAMETER(2) MOVE 'REPORTAPP' TO APP-ID(3) MOVE 'SYSTEM' TO APP-TYPE(3) MOVE 'RPT001' TO APP-PARAMETER(3). INVOKE-MULTIPLE-APPLICATIONS. PERFORM VARYING INVOKE-COUNT FROM 1 BY 1 UNTIL INVOKE-COUNT > MAX-INVOKES MOVE APP-ID(INVOKE-COUNT) TO APPLICATION-NAME MOVE APP-PARAMETER(INVOKE-COUNT) TO PARAMETER-DATA MOVE 50 TO PARAMETER-LENGTH PERFORM INVOKE-SINGLE-APPLICATION IF RESPONSE-CODE = DFHRESP(NORMAL) MOVE 'I' TO APP-STATUS(INVOKE-COUNT) DISPLAY 'Application ' INVOKE-COUNT ' invoked successfully' ELSE MOVE 'F' TO APP-STATUS(INVOKE-COUNT) DISPLAY 'Application ' INVOKE-COUNT ' invocation failed' END-IF END-PERFORM. INVOKE-SINGLE-APPLICATION. EXEC CICS INVOKE APPLICATION APPLICATION(APPLICATION-NAME) PARAMETER(PARAMETER-DATA) LENGTH(PARAMETER-LENGTH) RESP(RESPONSE-CODE) END-EXEC.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152IDENTIFICATION DIVISION. PROGRAM-ID. INVAPP03. DATA DIVISION. WORKING-STORAGE SECTION. 01 APPLICATION-NAME PIC X(8) VALUE 'ORDERAPP'. 01 PARAMETER-DATA PIC X(100) VALUE 'ORDER123'. 01 PARAMETER-LENGTH PIC S9(4) COMP VALUE 7. 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 APP-INVOKE-SUCCESSFUL PIC X(1) VALUE 'N'. PROCEDURE DIVISION. PERFORM INVOKE-APPLICATION-WITH-RETRY EXEC CICS RETURN END-EXEC. INVOKE-APPLICATION-WITH-RETRY. PERFORM INVOKE-APPLICATION IF RESPONSE-CODE NOT = DFHRESP(NORMAL) AND RETRY-COUNT < MAX-RETRIES ADD 1 TO RETRY-COUNT DISPLAY 'Retry ' RETRY-COUNT ' application invocation' PERFORM INVOKE-APPLICATION-WITH-RETRY END-IF. INVOKE-APPLICATION. EXEC CICS INVOKE APPLICATION APPLICATION(APPLICATION-NAME) PARAMETER(PARAMETER-DATA) LENGTH(PARAMETER-LENGTH) RESP(RESPONSE-CODE) END-EXEC EVALUATE RESPONSE-CODE WHEN DFHRESP(NORMAL) MOVE 'Y' TO APP-INVOKE-SUCCESSFUL DISPLAY 'Application invocation successful' WHEN DFHRESP(NOTAUTH) DISPLAY 'Not authorized to invoke application' WHEN DFHRESP(INVREQ) DISPLAY 'Invalid application invocation request' WHEN DFHRESP(APPERR) DISPLAY 'Application invocation error' WHEN DFHRESP(APPNOTFOUND) DISPLAY 'Application not found' WHEN DFHRESP(APPINUSE) DISPLAY 'Application is in use' WHEN OTHER DISPLAY 'Unexpected application invocation error' END-EVALUATE.
Think of CICS INVOKE APPLICATION like calling a helper:
Create a program that invokes a basic application.
Write a program that manages multiple application invocations.
Implement comprehensive error handling for application invocation failures.