DMSPURWU - Purge Work Unit IDs
Context
Work Unit Management: SFS and BFS
Call Format
The format for calling a CSL routine is language dependent. DMSPURWU is called only through DMSCSL. The routine name is the first parameter in DMSCSL’s parameter list:
- DMSPURWU
- (input, CHAR, 8) can be passed as a literal or in a variable.
For more information and examples of the call formats, see Calling VMLIB CSL Routines.
Purpose
Use the DMSPURWU routine to return all work unit IDs to CMS and end work unit communication.
Parameters
- retcode
- (output, INT, 4) is a variable for the return code from DMSPURWU.
- reascode
- (output, INT, 4) is a variable for the reason code from DMSPURWU.
- FORCE
- (input, CHAR, 5) indicates that the work unit IDs are to be purged even if a work unit is active. If there is an active work unit, a rollback occurs. If FORCE is not specified, an active work unit causes the request to fail with no work unit IDs purged. To omit this parameter while specifying the wuerror parameter, specify a string of blanks as the value of FORCE.
- length1
- (input, INT, 4) is a variable for specifying the length of the preceding character parameter (FORCE).
- wuerror
- (output, CHAR, length2) is a variable used to specify an area for returning extended error information. If it is specified, it must be followed by a length field. See wuerror under Common Parameters for more information.
- length2
- (input, INT, 4) is a variable for specifying the length of the preceding character parameter (wuerror). Specifying 0 has the effect of omitting the wuerror parameter. To use the wuerror parameter, specify a length of 12 plus 136 bytes for each group of extended error information that may be passed back. Specifying a nonzero length less than 12 is incorrect and causes an error reason code to be returned.
Usage Notes
- Upon successful completion of DMSPURWU, communication to all file pools ends and all session locks in those file pools for this user are released. All protected conversations are deallocated at this time. Any uncommitted work is rolled back before deallocating protected conversations.
- If another subprogram is actively using any work unit ID, an error occurs.
- Work units that were associated with a user ID, security token, or accounting user data when the work unit IDs were assigned by DMSGETWU are no longer associated with these items after the work unit has been purged.
- The work unit stack is not checked or modified by this routine.
Return Codes and Reason Codes
For lists of the possible return codes from DMSPURWU, see Return Codes.
The following table lists the special reason codes returned by DMSPURWU. WARNING means the request was processed, or the desired state already exists. ERROR means the request failed. Warnings cause return code 4, and errors cause return code 8 or 12.
DMSPURWU can also return the common CSL reason codes, which are codes that can occur with most file system management and related routines. For a list of the common reason codes, see Common Reason Codes.
Severity | Reason Code | Description |
---|---|---|
WARNING | 95950 | Logical unit of work was in process for an active work unit ID and FORCE option was specified. Any active work has been rolled back. |
ERROR | 90300 | Invalid input parameter in CSL parameter list. The only valid input parameter is FORCE. |
ERROR | 90415 | Invalid length specified for the wuerror parameter. A nonzero length must be at least 12 bytes. |
ERROR | 95800 | System error. Incorrect work unit range passed to SFS. |
ERROR | 95900 | Logical unit of work in process for an active work unit ID and FORCE option not specified. No communication paths were severed. |