Progress0 of 0 lessons

CICS CANCEL (BTS) - Business Transaction Services Cancellation

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.

What is CICS CANCEL (BTS)?

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.

Command Syntax

cobol
1
2
3
4
5
6
EXEC CICS CANCEL TRANSID(transaction-id) [REQID(request-id)] [BTSID(bts-id)] [RESP(response-code)] END-EXEC

Parameters

Required Parameters

  • TRANSID(transaction-id) - BTS Transaction ID to cancel

Optional Parameters

  • REQID(request-id) - Specific BTS request ID to cancel
  • BTSID(bts-id) - BTS instance ID
  • RESP(response-code) - Response code variable

BTS Cancellation Types

BTS Transaction Cancellation

Cancel BTS transactions

  • BTS TRANSACTION CANCEL - Cancel BTS transaction
  • BTS TRANSACTION ABORT - Abort BTS transaction
  • BTS TRANSACTION TERMINATE - Terminate BTS transaction
  • BTS TRANSACTION STOP - Stop BTS transaction

BTS Request Cancellation

Cancel BTS requests

  • BTS REQUEST CANCEL - Cancel BTS request
  • BTS REQUEST ABORT - Abort BTS request
  • BTS REQUEST TERMINATE - Terminate BTS request
  • BTS REQUEST STOP - Stop BTS request

BTS Operation Cancellation

Cancel BTS operations

  • BTS OPERATION CANCEL - Cancel BTS operation
  • BTS OPERATION ABORT - Abort BTS operation
  • BTS OPERATION TERMINATE - Terminate BTS operation
  • BTS OPERATION STOP - Stop BTS operation

BTS Process Cancellation

Cancel BTS processes

  • BTS PROCESS CANCEL - Cancel BTS process
  • BTS PROCESS ABORT - Abort BTS process
  • BTS PROCESS TERMINATE - Terminate BTS process
  • BTS PROCESS STOP - Stop BTS process

Programming Examples

Basic BTS Transaction Cancellation

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
IDENTIFICATION 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.

Advanced BTS Cancellation Management

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
IDENTIFICATION 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.

Error Handling with BTS Cancellation

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
IDENTIFICATION 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.

BTS Cancellation Management

BTS Cancellation Control

  • BTS Cancellation Authorization - Control BTS cancellation permissions
  • BTS Cancellation Validation - Validate BTS cancellation requests
  • BTS Cancellation Limits - Enforce BTS cancellation limits
  • BTS Cancellation Policies - Implement BTS cancellation policies

BTS Cancellation Monitoring

  • BTS Cancellation Tracking - Track BTS cancellation activities
  • BTS Cancellation Logging - Log BTS cancellation operations
  • BTS Cancellation Auditing - Audit BTS cancellation requests
  • BTS Cancellation Reporting - Generate BTS cancellation reports

BTS Cancellation Lifecycle

  • BTS Cancellation Initiation - Initiate BTS cancellation process
  • BTS Cancellation Processing - Process BTS cancellation request
  • BTS Cancellation Completion - Complete BTS cancellation
  • BTS Cancellation Cleanup - Clean up cancelled BTS resources

Error Recovery

  • Error Detection - Detect BTS cancellation errors
  • Error Recovery - Recover from BTS cancellation errors
  • Retry Mechanisms - Implement retry logic
  • Fallback Procedures - Use fallback procedures

Error Handling

Common Response Codes

  • DFHRESP(NORMAL) - BTS transaction cancelled successfully
  • DFHRESP(NOTFND) - BTS transaction not found
  • DFHRESP(NOTAUTH) - Not authorized to cancel BTS transaction
  • DFHRESP(INVREQ) - Invalid BTS cancellation request
  • DFHRESP(BTSCANCELLATIONERR) - BTS cancellation error
  • DFHRESP(BTSTRANSACTIONERR) - BTS transaction management error

Performance Considerations

BTS Cancellation Efficiency

  • Optimize BTS cancellation operations - Use efficient BTS cancellation handling
  • Minimize BTS cancellation overhead - Reduce BTS cancellation processing overhead
  • Use BTS cancellation pooling - Implement BTS cancellation pooling
  • Monitor BTS cancellation frequency - Track BTS cancellation occurrence patterns

System Impact

  • Monitor system impact - Track how BTS cancellations affect the system
  • Optimize BTS cancellation handling - Ensure efficient BTS cancellation processing
  • Manage BTS cancellation usage - Monitor BTS cancellation consumption
  • Track performance metrics - Monitor BTS cancellation handling performance

Best Practices

BTS Cancellation Management Best Practices

  • • Cancel BTS transactions only when necessary
  • • Implement proper error handling for BTS cancellation operations
  • • Validate BTS cancellation requests before processing
  • • Use appropriate BTS cancellation methods
  • • Monitor BTS cancellation activities and performance
  • • Maintain BTS cancellation audit trails
  • • Handle BTS cancellation errors gracefully

Explain It Like I'm 5 Years Old

Think of CICS CANCEL (BTS) like stopping a business meeting:

  • Business Meeting: "You're in an important business meeting" - BTS transaction
  • Stop Meeting: "Stop the meeting now" - Cancel BTS transaction
  • Meeting Stops: "The meeting stops immediately" - BTS transaction cancelled
  • Clean Up: "Put away meeting materials" - Clean up BTS resources
  • Schedule New Meeting: "You can schedule a new meeting" - New BTS transaction

Exercises

Exercise 1: Basic BTS Transaction Cancellation

Create a program that cancels a specific BTS transaction.

Exercise 2: Advanced BTS Cancellation Management

Write a program that manages multiple BTS transaction cancellations.

Exercise 3: Error Handling

Implement comprehensive error handling for BTS cancellation failures.