CICS GET64 CONTAINER provides 64-bit container retrieval capabilities for programs and transactions. It enables programs to retrieve large data from containers, access 64-bit data, and handle 64-bit container operations in CICS environments.
CICS GET64 CONTAINER is a command that allows programs to retrieve data from containers using 64-bit addressing. It provides large data access capabilities, 64-bit memory management, and 64-bit container handling for CICS applications.
1234567EXEC CICS GET64 CONTAINER [CHANNEL(channel-name)] [CONTAINER(container-name)] [INTO(data-area)] [LENGTH(data-length)] [RESP(response-code)] END-EXEC
Containers with large data sets
Containers with memory data
Containers with streaming data
Containers with binary data
123456789101112131415161718192021222324252627282930313233343536IDENTIFICATION DIVISION. PROGRAM-ID. GET64CONTAINER01. DATA DIVISION. WORKING-STORAGE SECTION. 01 CHANNEL-NAME PIC X(8) VALUE 'MAINCHAN'. 01 CONTAINER-NAME PIC X(8) VALUE 'LARGEDAT'. 01 DATA-AREA PIC X(1000). 01 DATA-LENGTH PIC S9(8) COMP VALUE 1000. 01 RESPONSE-CODE PIC S9(8) COMP. 01 CONTAINER-RETRIEVED PIC X(1) VALUE 'N'. PROCEDURE DIVISION. IF CONTAINER-RETRIEVED = 'N' DISPLAY 'Retrieving 64-bit container: ' CONTAINER-NAME DISPLAY 'From channel: ' CHANNEL-NAME EXEC CICS GET64 CONTAINER CHANNEL(CHANNEL-NAME) CONTAINER(CONTAINER-NAME) INTO(DATA-AREA) LENGTH(DATA-LENGTH) RESP(RESPONSE-CODE) END-EXEC IF RESPONSE-CODE = DFHRESP(NORMAL) MOVE 'Y' TO CONTAINER-RETRIEVED DISPLAY '64-bit container retrieved successfully' DISPLAY 'Container data length: ' DATA-LENGTH ELSE DISPLAY 'Failed to retrieve 64-bit container' END-IF ELSE DISPLAY '64-bit container already retrieved' END-IF EXEC CICS RETURN END-EXEC.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657IDENTIFICATION DIVISION. PROGRAM-ID. GET64CONTAINER02. DATA DIVISION. WORKING-STORAGE SECTION. 01 CHANNEL-NAME PIC X(8) VALUE 'MAINCHAN'. 01 CONTAINER-NAME PIC X(8). 01 DATA-AREA PIC X(2000). 01 DATA-LENGTH PIC S9(8) COMP VALUE 2000. 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 TOTAL-DATA-LENGTH PIC S9(8) COMP VALUE 0. 01 CONTAINER-LIST. 05 CONTAINER-ITEM OCCURS 5 TIMES. 10 CONTAINER-ID PIC X(8). 10 CONTAINER-STATUS PIC X(1). 10 CONTAINER-SIZE PIC S9(8) COMP. PROCEDURE DIVISION. PERFORM RETRIEVE-MULTIPLE-64BIT-CONTAINERS DISPLAY 'Total data retrieved: ' TOTAL-DATA-LENGTH ' bytes' EXEC CICS RETURN END-EXEC. RETRIEVE-MULTIPLE-64BIT-CONTAINERS. MOVE 'LARGE001' TO CONTAINER-ID(1) MOVE 'LARGE002' TO CONTAINER-ID(2) MOVE 'LARGE003' TO CONTAINER-ID(3) MOVE 'LARGE004' TO CONTAINER-ID(4) MOVE 'LARGE005' 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-64BIT-CONTAINER IF RESPONSE-CODE = DFHRESP(NORMAL) MOVE 'R' TO CONTAINER-STATUS(CONTAINER-COUNT) MOVE DATA-LENGTH TO CONTAINER-SIZE(CONTAINER-COUNT) ADD DATA-LENGTH TO TOTAL-DATA-LENGTH DISPLAY 'Retrieved: ' CONTAINER-NAME ' Size: ' DATA-LENGTH ELSE MOVE 'F' TO CONTAINER-STATUS(CONTAINER-COUNT) MOVE 0 TO CONTAINER-SIZE(CONTAINER-COUNT) DISPLAY 'Failed: ' CONTAINER-NAME END-IF END-PERFORM. RETRIEVE-SINGLE-64BIT-CONTAINER. EXEC CICS GET64 CONTAINER CHANNEL(CHANNEL-NAME) CONTAINER(CONTAINER-NAME) INTO(DATA-AREA) LENGTH(DATA-LENGTH) RESP(RESPONSE-CODE) END-EXEC.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354IDENTIFICATION DIVISION. PROGRAM-ID. GET64CONTAINER03. DATA DIVISION. WORKING-STORAGE SECTION. 01 CHANNEL-NAME PIC X(8) VALUE 'TESTCHAN'. 01 CONTAINER-NAME PIC X(8) VALUE 'TEST64'. 01 DATA-AREA PIC X(500). 01 DATA-LENGTH PIC S9(8) COMP VALUE 500. 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-64BIT-CONTAINER-WITH-ERROR-HANDLING EXEC CICS RETURN END-EXEC. RETRIEVE-64BIT-CONTAINER-WITH-ERROR-HANDLING. PERFORM RETRIEVE-64BIT-CONTAINER IF RESPONSE-CODE NOT = DFHRESP(NORMAL) AND RETRY-COUNT < MAX-RETRIES ADD 1 TO RETRY-COUNT DISPLAY 'Retry ' RETRY-COUNT ' retrieving 64-bit container' PERFORM RETRIEVE-64BIT-CONTAINER-WITH-ERROR-HANDLING END-IF. RETRIEVE-64BIT-CONTAINER. EXEC CICS GET64 CONTAINER CHANNEL(CHANNEL-NAME) CONTAINER(CONTAINER-NAME) INTO(DATA-AREA) LENGTH(DATA-LENGTH) RESP(RESPONSE-CODE) END-EXEC EVALUATE RESPONSE-CODE WHEN DFHRESP(NORMAL) MOVE 'Y' TO RETRIEVAL-SUCCESSFUL DISPLAY '64-bit container retrieved successfully' WHEN DFHRESP(NOTFND) DISPLAY 'Channel or container not found' WHEN DFHRESP(NOTAUTH) DISPLAY 'Not authorized to retrieve container' WHEN DFHRESP(INVREQ) DISPLAY 'Invalid 64-bit container request' WHEN DFHRESP(LENGERR) DISPLAY 'Data length error' WHEN DFHRESP(64BITERR) DISPLAY '64-bit container error' WHEN OTHER DISPLAY 'Unexpected error occurred' END-EVALUATE.
Think of CICS GET64 CONTAINER like getting a really big toy box:
Create a program that retrieves a specific 64-bit container.
Write a program that manages multiple 64-bit container retrievals.
Implement comprehensive error handling for 64-bit container retrieval failures.