Where allowed to run: All environments (*ALL) Threadsafe: Conditional |
Parameters Examples Error messages |
The Deallocate Object (DLCOBJ) command releases the allocations of the specified objects. The objects, allocated earlier by one or more Allocate Object (ALCOBJ) commands, are freed for use by other jobs, or threads. If the DLCOBJ command is used when a lock does not exist, no error occurs.
If the DLCOBJ command is not used, the objects may be automatically deallocated. Allocated job-scoped locks are automatically released when the job ends. Allocated thread-scoped locks are automatically released when the thread ends. If a thread received a job-scoped lock, the job will continue to hold that lock after the requesting thread ends. Lock-space-scoped locks are not automatically released.
The DLCOBJ command should not be issued for an object that was not explicitly allocated by the ALCOBJ command. If the DLCOBJ command is used this way, internal locks on the object are released, making the object capable of being deleted.
To release more than one lock for an object with a single DLCOBJ command, the object name, type, and lock state must be repeated in the list for each lock you want to release.
NOTES:
Restrictions:
This deallocates the piece of the file on each node in the node group.
This deallocates both the DDM file on the local system and the file on the remote system that is identified in the DDM file.
Top |
Keyword | Description | Choices | Notes |
---|---|---|---|
OBJ | Object specifications | Values (up to 50 repetitions): Element list | Required, Positional 1 |
Element 1: Object | Qualified object name | ||
Qualifier 1: Object | Name | ||
Qualifier 2: Library | Name, *LIBL, *CURLIB | ||
Element 2: Object type | *AUTL, *BNDDIR, *CLD, *CRQD, *CSI, *CSPMAP, *CSPTBL, *DEVD, *DTAARA, *DTADCT, *DTAQ, *FCT, *FILE, *FNTRSC, *FNTTBL, *FORMDF, *IMGCLG, *IPXD, *LIB, *LOCALE, *MEDDFN, *MENU, *MGTCOL, *MODULE, *MSGQ, *NODL, *NTBD, *NWSCFG, *NWSD, *OVL, *PAGDFN, *PAGSEG, *PDFMAP, *PDG, *PGM, *PNLGRP, *PSFCFG, *QMFORM, *QMQRY, *QRYDFN, *SBSD, *SCHIDX, *SQLPKG, *SRVPGM, *SSND, *S36, *TIMZON, *USRIDX, *USRQ, *USRSPC, *VLDL, *WSCST | ||
Element 3: Lock state | *SHRRD, *SHRNUP, *SHRUPD, *EXCLRD, *EXCL | ||
Element 4: Member, if data base file | Name, *FIRST | ||
SCOPE | Lock scope | *JOB, *THREAD, *LCKSPC | Optional |
Top |
Specifies the qualified name of one or more objects that are deallocated from the job, thread, or lock space, the type of each object specified, the lock state of each object, and the member name (if the object is a database file or DDM file).
Only some object types can be specified on the Deallocate Object (DLCOBJ) command. Of these, some cannot use all of the lock states.
This is a required parameter.
You can specify 50 values for this parameter.
Element 1: Object
Qualifier 1: Object
Qualifier 2: Library
Element 2: Object type
Element 3: Lock state
Element 4: Member, if data base file
Note: The following values can only be specified if the object type is a database file.
An explanation of how to specify multiple locks on an object, locking device descriptions, or the type objects that can be allocated, is in the CL information in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter.
If a database file member is deallocated, the first occurrence of the file in the library list is found and that file is searched for the specified member. If a file of the same name farther down on the library list contains the member, but the first file does not, the member is not found. If the member name is not specified for a database file, the member name defaults to *FIRST and the member that was created first in the file is deallocated.
Object Lock States Type Object Type Definition *EXCL *EXCLRD *SHRUPD *SHRNUP *SHRRD ------- ---------------------- ----- ------- ------- ------- ------ *AUTL Authorization List x x x x x *BNDDIR Binding directory x x x *CLD C Locale description x x x x x *CRQD Change request x x x x x description *CSI Communications side x x x x x information *DEVD Device Description x x *DTAARA Data area x x x x x *DTADCT Data dictionary x x x x x *DTAQ Data queue x x x x x *FCT Forms control table x x x x x *FILE File x x x x x *FNTRSC Font resource x x x x x *FNTTBL Font mapping table x x x x x *FORMDF Form definition x x x x x *IMGCLG Image catalog x x x x x *IPXD Internet packet x x x x x exchange description *LIB Library x x x x *LOCALE Locale space object x x x x x *MEDDFN Media definition x x x x x *MENU Menu x x x x x *MGTCOL Management collection x x x x x *MODULE Module x x x *MSGQ Message queue x x *NODL Node list x x x x x *NTBD NetBIOS description x x x x x *NWSCFG Network server x x x x x configuration *NWSD Network server x x x x x description *OVL Overlay x x x x x *PAGDFN Page definition x x x x x *PAGSEG Page segment x x x x x *PDFMAP PDF Map x x x x x *PDG Print descriptor group x x x x x *PGM Program x x x *PNLGRP Panel group x x x x x *PSFCFG Print service facility x x x x x configuration *QMFORM Query management form x x x x x *QMQRY Query management query x x x x x *QRYDFN Query definition x x x x x *S36 S/36 machine x x x x x description *SBSD Subsystem description x *SCHIDX Search index x x x x x *SQLPKG Structured Query x x x x x Language package *SRVPGM Service program x x x x x *SSND Session description x x x x x *TIMZON Time zone description x x x x x *USRIDX User index x x x x x *USRQ User queue x x x x x *USRSPC User space x x x x x *VLDL Validation list object x x x x x *WSCST Workstation x x x x x customizing object 'x' indicates the lock state is allowed for the object type. |
Top |
Specify the scope for this lock request.
All objects types supported by the OBJ parameter support job-scoped locks. All object types supported by the OBJ parameter support lock-space-scoped locks. For DDM objects with a lock-space-scope, the lock on the remote system is scoped to the job. To determine if an object type supports thread-scoped locks refer to the figure Object Types that Support Thread Scope Locks.
The lock scope must match the scope of the locks currently allocated for the job or thread.
Object Thread Type Object Type Definition Scope ------- ------------------------------------ ------ *AUTL Authorization list *BNDDIR Binding directory *CLD C Locale description *CRQD Change request description *CSI Communications side information *DEVD Device Description x *DTAARA Data area x *DTADCT Data dictionary x *DTAQ Data queue x *FCT Forms control table *FILE File x *FNTRSC Font resource *FNTTBL Font mapping table *FORMDF Form definition *IMGCLG Image catalog x *IPXD Internet packet exchange description x *LIB Library x *LOCALE Locale space object x *MEDDFN Media definition *MENU Menu *MGTCOL Management collection x *MODULE Module *MSGQ Message queue x *NODL Node list *NTBD NetBIOS description x *NWSCFG Network server configuration *NWSD Network server description x *OVL Overlay *PAGDFN Page definition *PAGSEG Page segment *PDFMAP PDF Map x *PDG Print descriptor group *PGM Program x *PNLGRP Panel group *PSFCFG Print service facility configuration *QMFORM Query management form *QMQRY Query management query *QRYDFN Query definition *S36 S/36 machine description *SBSD Subsystem description x *SCHIDX Search index *SQLPKG Structured Query Language package *SRVPGM Service program x *SSND Session description *TIMZON Time zone description x *USRIDX User index x *USRQ User queue x *USRSPC User space x *VLDL Validation list object x *WSCST Workstation customizing object 'x' indicates a thread-scoped lock is allowed for the object type. |
Top |
Example 1: Deallocate a File for the Job
DLCOBJ OBJ((LIBB/FILEA *FILE *SHRRD))
This command releases the shared-for-read allocation of the first member of file FILEA in library LIBB that was held by the job.
Example 2: Deallocate a Data Area for the Thread
DLCOBJ OBJ((LIBY/DATAAREAX *DTAARA *SHRRD )) SCOPE(*THREAD)
This command releases the shared-for-read allocation of the data area DATAAREAX in library LIBY that was held by the thread.
Example 3: Deallocate File for Lock Space
DLCOBJ OBJ((LIBB/FILEA *FILE *EXCL MEMBERA)) SCOPE(*LCKSPC)
This command deallocates member MEMBERA of file FILEA in library LIBB from the lock space attached to the current thread.
Top |
Top |