CICS FREE (LUTYPE6.1) provides LU6.1 resource deallocation capabilities for programs and transactions. It enables programs to free LU6.1 resources, manage LU6.1 resource cleanup, and handle LU6.1 resource deallocation in CICS environments.
CICS FREE (LUTYPE6.1) is a command that allows programs to deallocate LU6.1 resources in the system. It provides LU6.1 resource deallocation capabilities, LU6.1 resource cleanup, and LU6.1 resource management for CICS applications.
1234EXEC CICS FREE LUTYPE6.1 [RESP(response-code)] END-EXEC
LU6.1 session resource types
LU6.1 resource types
LU6.1 communication resource types
LU6.1 system resource types
123456789101112131415161718192021IDENTIFICATION DIVISION. PROGRAM-ID. FREE61. DATA DIVISION. WORKING-STORAGE SECTION. 01 RESPONSE-CODE PIC S9(8) COMP. PROCEDURE DIVISION. DISPLAY 'Freeing LU6.1 resource' EXEC CICS FREE LUTYPE6.1 RESP(RESPONSE-CODE) END-EXEC IF RESPONSE-CODE = DFHRESP(NORMAL) DISPLAY 'LU6.1 resource freed successfully' ELSE DISPLAY 'LU6.1 resource free failed' END-IF EXEC CICS RETURN END-EXEC.
123456789101112131415161718192021222324252627282930313233343536373839IDENTIFICATION DIVISION. PROGRAM-ID. FREE62. DATA DIVISION. WORKING-STORAGE SECTION. 01 RESPONSE-CODE PIC S9(8) COMP. 01 FREE-COUNT PIC S9(2) COMP VALUE 0. 01 MAX-FREES PIC S9(2) COMP VALUE 3. 01 LU61-STATUS PIC X(1). 01 LU61-RESOURCE-TYPE PIC X(8). PROCEDURE DIVISION. PERFORM INITIALIZE-LU61-RESOURCES PERFORM FREE-LU61-RESOURCES EXEC CICS RETURN END-EXEC. INITIALIZE-LU61-RESOURCES. MOVE 'SESSION' TO LU61-RESOURCE-TYPE. FREE-LU61-RESOURCES. PERFORM VARYING FREE-COUNT FROM 1 BY 1 UNTIL FREE-COUNT > MAX-FREES PERFORM FREE-LU61-SINGLE-RESOURCE IF RESPONSE-CODE = DFHRESP(NORMAL) MOVE 'F' TO LU61-STATUS DISPLAY 'LU6.1 resource ' FREE-COUNT ' freed successfully' ELSE MOVE 'E' TO LU61-STATUS DISPLAY 'LU6.1 resource ' FREE-COUNT ' free failed' END-IF END-PERFORM. FREE-LU61-SINGLE-RESOURCE. EXEC CICS FREE LUTYPE6.1 RESP(RESPONSE-CODE) END-EXEC.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647IDENTIFICATION DIVISION. PROGRAM-ID. FREE63. DATA DIVISION. WORKING-STORAGE SECTION. 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 LU61-FREE-SUCCESSFUL PIC X(1) VALUE 'N'. PROCEDURE DIVISION. PERFORM FREE-LU61-RESOURCE-WITH-RETRY EXEC CICS RETURN END-EXEC. FREE-LU61-RESOURCE-WITH-RETRY. PERFORM FREE-LU61-RESOURCE IF RESPONSE-CODE NOT = DFHRESP(NORMAL) AND RETRY-COUNT < MAX-RETRIES ADD 1 TO RETRY-COUNT DISPLAY 'Retry ' RETRY-COUNT ' LU6.1 resource free operation' PERFORM FREE-LU61-RESOURCE-WITH-RETRY END-IF. FREE-LU61-RESOURCE. EXEC CICS FREE LUTYPE6.1 RESP(RESPONSE-CODE) END-EXEC EVALUATE RESPONSE-CODE WHEN DFHRESP(NORMAL) MOVE 'Y' TO LU61-FREE-SUCCESSFUL DISPLAY 'LU6.1 resource free operation successful' WHEN DFHRESP(NOTAUTH) DISPLAY 'Not authorized to free LU6.1 resource' WHEN DFHRESP(INVREQ) DISPLAY 'Invalid LU6.1 resource free request' WHEN DFHRESP(RESOURCEERR) DISPLAY 'LU6.1 resource free operation error' WHEN DFHRESP(RESOURCENOTFOUND) DISPLAY 'LU6.1 resource not found' WHEN DFHRESP(RESOURCEINUSE) DISPLAY 'LU6.1 resource is in use' WHEN OTHER DISPLAY 'Unexpected LU6.1 resource free error' END-EVALUATE.
Think of CICS FREE (LUTYPE6.1) like putting away your special toys:
Create a program that frees a basic LU6.1 resource.
Write a program that manages multiple LU6.1 resource deallocations.
Implement comprehensive error handling for LU6.1 resource deallocation failures.