CICS CANCEL (BTS) provides Business Transaction Services cancellation capabilities for programs and transactions. It enables programs to cancel BTS transactions, manage BTS cancellation requests, and handle BTS cancellation operations in CICS environments.
CICS CANCEL (BTS) is a command that allows programs to cancel Business Transaction Services (BTS) transactions, requests, or operations that are currently in progress. It provides BTS transaction management capabilities, BTS cancellation control, and BTS cancellation handling for CICS applications.
123456EXEC CICS CANCEL TRANSID(transaction-id) [REQID(request-id)] [BTSID(bts-id)] [RESP(response-code)] END-EXEC
Cancel BTS transactions
Cancel BTS requests
Cancel BTS operations
Cancel BTS processes
1234567891011121314151617181920212223242526272829IDENTIFICATION DIVISION. PROGRAM-ID. CANCELBTS01. DATA DIVISION. WORKING-STORAGE SECTION. 01 TRANSACTION-ID PIC X(4) VALUE 'BTS1'. 01 BTS-ID PIC X(8) VALUE 'BTS00001'. 01 RESPONSE-CODE PIC S9(8) COMP. 01 BTS-CANCELLATION-REQUESTED PIC X(1) VALUE 'Y'. PROCEDURE DIVISION. IF BTS-CANCELLATION-REQUESTED = 'Y' DISPLAY 'Cancelling BTS transaction: ' TRANSACTION-ID EXEC CICS CANCEL TRANSID(TRANSACTION-ID) BTSID(BTS-ID) RESP(RESPONSE-CODE) END-EXEC IF RESPONSE-CODE = DFHRESP(NORMAL) DISPLAY 'BTS transaction cancelled successfully' ELSE DISPLAY 'Failed to cancel BTS transaction' END-IF ELSE DISPLAY 'No BTS cancellation requested' END-IF EXEC CICS RETURN END-EXEC.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748IDENTIFICATION DIVISION. PROGRAM-ID. CANCELBTS02. DATA DIVISION. WORKING-STORAGE SECTION. 01 TRANSACTION-ID PIC X(4). 01 BTS-ID PIC X(8). 01 RESPONSE-CODE PIC S9(8) COMP. 01 BTS-CANCELLATION-COUNT PIC S9(2) COMP VALUE 0. 01 MAX-BTS-CANCELLATIONS PIC S9(2) COMP VALUE 5. 01 BTS-TRANSACTION-LIST. 05 BTS-TRANSACTION-ITEM OCCURS 5 TIMES. 10 BTS-TRANSACTION-NAME PIC X(4). 10 BTS-TRANSACTION-STATUS PIC X(1). PROCEDURE DIVISION. PERFORM CANCEL-MULTIPLE-BTS-TRANSACTIONS EXEC CICS RETURN END-EXEC. CANCEL-MULTIPLE-BTS-TRANSACTIONS. MOVE 'BTS1' TO BTS-TRANSACTION-NAME(1) MOVE 'BTS2' TO BTS-TRANSACTION-NAME(2) MOVE 'BTS3' TO BTS-TRANSACTION-NAME(3) MOVE 'BTS4' TO BTS-TRANSACTION-NAME(4) MOVE 'BTS5' TO BTS-TRANSACTION-NAME(5) PERFORM VARYING BTS-CANCELLATION-COUNT FROM 1 BY 1 UNTIL BTS-CANCELLATION-COUNT > MAX-BTS-CANCELLATIONS MOVE BTS-TRANSACTION-NAME(BTS-CANCELLATION-COUNT) TO TRANSACTION-ID MOVE 'BTS00001' TO BTS-ID PERFORM CANCEL-SINGLE-BTS-TRANSACTION IF RESPONSE-CODE = DFHRESP(NORMAL) MOVE 'C' TO BTS-TRANSACTION-STATUS(BTS-CANCELLATION-COUNT) DISPLAY 'Cancelled BTS: ' TRANSACTION-ID ELSE MOVE 'F' TO BTS-TRANSACTION-STATUS(BTS-CANCELLATION-COUNT) DISPLAY 'Failed BTS: ' TRANSACTION-ID END-IF END-PERFORM. CANCEL-SINGLE-BTS-TRANSACTION. EXEC CICS CANCEL TRANSID(TRANSACTION-ID) BTSID(BTS-ID) RESP(RESPONSE-CODE) END-EXEC.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950IDENTIFICATION DIVISION. PROGRAM-ID. CANCELBTS03. DATA DIVISION. WORKING-STORAGE SECTION. 01 TRANSACTION-ID PIC X(4) VALUE 'BTS1'. 01 BTS-ID PIC X(8) VALUE 'BTS00001'. 01 REQUEST-ID PIC X(8) VALUE 'REQ00001'. 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 BTS-CANCELLATION-SUCCESSFUL PIC X(1) VALUE 'N'. PROCEDURE DIVISION. PERFORM CANCEL-BTS-WITH-ERROR-HANDLING EXEC CICS RETURN END-EXEC. CANCEL-BTS-WITH-ERROR-HANDLING. PERFORM CANCEL-BTS-TRANSACTION IF RESPONSE-CODE NOT = DFHRESP(NORMAL) AND RETRY-COUNT < MAX-RETRIES ADD 1 TO RETRY-COUNT DISPLAY 'Retry ' RETRY-COUNT ' cancelling BTS transaction' PERFORM CANCEL-BTS-WITH-ERROR-HANDLING END-IF. CANCEL-BTS-TRANSACTION. EXEC CICS CANCEL TRANSID(TRANSACTION-ID) BTSID(BTS-ID) REQID(REQUEST-ID) RESP(RESPONSE-CODE) END-EXEC EVALUATE RESPONSE-CODE WHEN DFHRESP(NORMAL) MOVE 'Y' TO BTS-CANCELLATION-SUCCESSFUL DISPLAY 'BTS transaction cancelled successfully' WHEN DFHRESP(NOTFND) DISPLAY 'BTS transaction not found' WHEN DFHRESP(NOTAUTH) DISPLAY 'Not authorized to cancel BTS transaction' WHEN DFHRESP(INVREQ) DISPLAY 'Invalid BTS cancellation request' WHEN DFHRESP(BTSCANCELLATIONERR) DISPLAY 'BTS cancellation error' WHEN OTHER DISPLAY 'Unexpected error occurred' END-EVALUATE.
Think of CICS CANCEL (BTS) like stopping a business meeting:
Create a program that cancels a specific BTS transaction.
Write a program that manages multiple BTS transaction cancellations.
Implement comprehensive error handling for BTS cancellation failures.