CICS GET CONTAINER (BTS) provides Business Transaction Services container retrieval capabilities for programs and transactions. It enables programs to retrieve BTS containers, access BTS data, and handle BTS container operations in CICS environments.
CICS GET CONTAINER (BTS) is a command that allows programs to retrieve data from Business Transaction Services (BTS) containers. It provides BTS data access capabilities, container management, and BTS container handling for CICS applications.
1234567EXEC CICS GET CONTAINER CONTAINER(container-name) INTO(data-area) LENGTH(data-length) [BTSID(bts-id)] [RESP(response-code)] END-EXEC
Containers with business data
Containers with control information
Containers with message data
User-defined containers
1234567891011121314151617181920212223242526272829303132333435IDENTIFICATION DIVISION. PROGRAM-ID. GETCONTAINERBTS01. DATA DIVISION. WORKING-STORAGE SECTION. 01 CONTAINER-NAME PIC X(8) VALUE 'BTSDATA'. 01 DATA-AREA PIC X(100). 01 DATA-LENGTH PIC S9(8) COMP VALUE 100. 01 BTS-ID PIC X(8) VALUE 'BTS00001'. 01 RESPONSE-CODE PIC S9(8) COMP. 01 CONTAINER-RETRIEVED PIC X(1) VALUE 'N'. PROCEDURE DIVISION. IF CONTAINER-RETRIEVED = 'N' DISPLAY 'Retrieving BTS container: ' CONTAINER-NAME EXEC CICS GET CONTAINER CONTAINER(CONTAINER-NAME) INTO(DATA-AREA) LENGTH(DATA-LENGTH) BTSID(BTS-ID) RESP(RESPONSE-CODE) END-EXEC IF RESPONSE-CODE = DFHRESP(NORMAL) MOVE 'Y' TO CONTAINER-RETRIEVED DISPLAY 'BTS container retrieved successfully' DISPLAY 'Container data: ' DATA-AREA(1:DATA-LENGTH) ELSE DISPLAY 'Failed to retrieve BTS container' END-IF ELSE DISPLAY 'BTS container already retrieved' END-IF EXEC CICS RETURN END-EXEC.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051IDENTIFICATION DIVISION. PROGRAM-ID. GETCONTAINERBTS02. DATA DIVISION. WORKING-STORAGE SECTION. 01 CONTAINER-NAME PIC X(8). 01 DATA-AREA PIC X(200). 01 DATA-LENGTH PIC S9(8) COMP VALUE 200. 01 BTS-ID PIC X(8) VALUE 'BTS00001'. 01 RESPONSE-CODE PIC S9(8) COMP. 01 CONTAINER-COUNT PIC S9(2) COMP VALUE 0. 01 MAX-CONTAINERS PIC S9(2) COMP VALUE 5. 01 CONTAINER-LIST. 05 CONTAINER-ITEM OCCURS 5 TIMES. 10 CONTAINER-ID PIC X(8). 10 CONTAINER-STATUS PIC X(1). PROCEDURE DIVISION. PERFORM RETRIEVE-MULTIPLE-BTS-CONTAINERS EXEC CICS RETURN END-EXEC. RETRIEVE-MULTIPLE-BTS-CONTAINERS. MOVE 'BTSDATA1' TO CONTAINER-ID(1) MOVE 'BTSDATA2' TO CONTAINER-ID(2) MOVE 'BTSDATA3' TO CONTAINER-ID(3) MOVE 'BTSDATA4' TO CONTAINER-ID(4) MOVE 'BTSDATA5' TO CONTAINER-ID(5) PERFORM VARYING CONTAINER-COUNT FROM 1 BY 1 UNTIL CONTAINER-COUNT > MAX-CONTAINERS MOVE CONTAINER-ID(CONTAINER-COUNT) TO CONTAINER-NAME PERFORM RETRIEVE-SINGLE-BTS-CONTAINER IF RESPONSE-CODE = DFHRESP(NORMAL) MOVE 'R' TO CONTAINER-STATUS(CONTAINER-COUNT) DISPLAY 'Retrieved: ' CONTAINER-NAME ELSE MOVE 'F' TO CONTAINER-STATUS(CONTAINER-COUNT) DISPLAY 'Failed: ' CONTAINER-NAME END-IF END-PERFORM. RETRIEVE-SINGLE-BTS-CONTAINER. EXEC CICS GET CONTAINER CONTAINER(CONTAINER-NAME) INTO(DATA-AREA) LENGTH(DATA-LENGTH) BTSID(BTS-ID) RESP(RESPONSE-CODE) END-EXEC.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152IDENTIFICATION DIVISION. PROGRAM-ID. GETCONTAINERBTS03. DATA DIVISION. WORKING-STORAGE SECTION. 01 CONTAINER-NAME PIC X(8) VALUE 'TESTBTS'. 01 DATA-AREA PIC X(50). 01 DATA-LENGTH PIC S9(8) COMP VALUE 50. 01 BTS-ID PIC X(8) VALUE 'BTS00001'. 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 RETRIEVAL-SUCCESSFUL PIC X(1) VALUE 'N'. PROCEDURE DIVISION. PERFORM RETRIEVE-BTS-CONTAINER-WITH-ERROR-HANDLING EXEC CICS RETURN END-EXEC. RETRIEVE-BTS-CONTAINER-WITH-ERROR-HANDLING. PERFORM RETRIEVE-BTS-CONTAINER IF RESPONSE-CODE NOT = DFHRESP(NORMAL) AND RETRY-COUNT < MAX-RETRIES ADD 1 TO RETRY-COUNT DISPLAY 'Retry ' RETRY-COUNT ' retrieving BTS container' PERFORM RETRIEVE-BTS-CONTAINER-WITH-ERROR-HANDLING END-IF. RETRIEVE-BTS-CONTAINER. EXEC CICS GET CONTAINER CONTAINER(CONTAINER-NAME) INTO(DATA-AREA) LENGTH(DATA-LENGTH) BTSID(BTS-ID) RESP(RESPONSE-CODE) END-EXEC EVALUATE RESPONSE-CODE WHEN DFHRESP(NORMAL) MOVE 'Y' TO RETRIEVAL-SUCCESSFUL DISPLAY 'BTS container retrieved successfully' WHEN DFHRESP(NOTFND) DISPLAY 'BTS container not found' WHEN DFHRESP(NOTAUTH) DISPLAY 'Not authorized to retrieve BTS container' WHEN DFHRESP(INVREQ) DISPLAY 'Invalid BTS container request' WHEN DFHRESP(BTSCONTAINERERR) DISPLAY 'BTS container retrieval error' WHEN OTHER DISPLAY 'Unexpected error occurred' END-EVALUATE.
Think of CICS GET CONTAINER (BTS) like getting a box from storage:
Create a program that retrieves a specific BTS container.
Write a program that manages multiple BTS container retrievals.
Implement comprehensive error handling for BTS container retrieval failures.