1 | Object and library name | Input | Char(20) |
2 | Object type | Input | Char(10) |
3 | Auxiliary storage pool (ASP) device | Input | Char(10) |
4 | Remove message | Input | Char(1) |
5 | Error code | I/O | Char(*) |
The Delete Object (QLIDLTO) API is used to delete objects of an object type listed in the description of the object type parameter. Many, but not all, of the library-based external object types on the system can be deleted using this API. You can use the corresponding Delete (DLTxxx) command to delete an object of most types that are not supported by this API although there are some object types for which there is no delete command (for example: *EXITRG, *JOBSCD, *PRDAVL, *RCT). You can also use the corresponding DLTxxx command (if one exists) to delete an object of a type that is supported by this API. A few of the DLTxxx commands for supported object types allow an additional parameter to be specified in addition to the object name and library name. For those object types, this API does not allow you to specify those additional parameters and uses documented values for those parameters. The notes column in Supported External Object Types shows those values as command keywords and values. If those values do not meet your requirements, you will need to use the DLTxxx command specifying the desired additional parameters to delete the objects, rather than this API.
The objects which you want to delete and the library or libraries from which the objects are to be deleted. The first 10 characters contain a simple object name, a generic object name, or *ALL and the second 10 characters contain the library name or one of several special values.
A generic name is a character string that contains one or more characters (the prefix) followed by an asterisk (*). When a generic name is specified, all objects of the specified object type that have names with the same prefix as the generic name are deleted from the specified library or libraries. When *ALL is specified for the object name, all objects of the specified object type are deleted from the specified library. When *ALL is specified for the object name, the library name must be a specific library name (it cannot be a special value.)
Note: When an object name of *ALL is specified, there are no restrictions for the name of the library. System library names such as library QSYS are allowed, but be very careful about specifying a system library name.
When *ALL is not specified for the object name, you can use these special values for the library name or use a specific library name:
*ALL | All libraries in auxiliary storage pools (ASPs) specified for the auxiliary storage pool (ASP) device parameter will be searched. The only QTEMP library that is searched is the QTEMP library for the job in which the API is invoked. All objects matching the specified name and object type in all libraries are deleted. |
*ALLUSR | All user libraries in ASPs specified for the auxiliary storage pool (ASP) device parameter are searched. For information on the libraries included, see *ALLUSR in Generic library names. |
*CURLIB | The current library for the thread is used to locate the object. If no library is specified as the current library for the thread, the QGPL library is used. When this value is used, the auxiliary storage pool (ASP) device name in the auxiliary storage pool (ASP) device parameter must be an asterisk (*). |
*LIBL | All libraries in the library list for the thread are searched until a match is found. If a specific object name is specified (instead of a generic name or *ALL), only the first object found with that name is deleted. When this value is used, the auxiliary storage pool (ASP) device name in the auxiliary storage pool (ASP) device parameter must be an asterisk (*). |
*USRLIBL | If a current library entry exists in the library list for the thread, the current library and the libraries in the user portion of the library list are searched. If there is no current library entry, only the libraries in the user portion of the library list are searched. If a specific object name is specified (instead of a generic name or *ALL), only the first object found with that name is deleted. When this value is used, the auxiliary storage pool (ASP) device name in the auxiliary storage pool (ASP) device parameter must be an asterisk (*). |
The type of object which you want to delete. You can only delete objects of one type with each invocation of this API. For a list of the supported object types, see Supported external object types. You must include an asterisk (*) as the first character of the object type.
The name of an auxiliary storage pool (ASP) device in which storage is allocated for the library that contains the object. The ASP device must have a status of 'Available'. This field must be an asterisk (*) when *CURLIB, *LIBL, or *USRLIBL is specified for the library name in the object and library name parameter. You can use one of the following special values or use a specific ASP device name:
* | The ASPs that are currently part of the thread's library name space will be searched to locate the library. This includes the system ASP (ASP 1), all defined basic user ASPs (ASPs 2-32), and, if the thread has an ASP group, the primary and secondary ASPs in the thread's ASP group. |
*SYSBAS | The system ASP (ASP 1) and all defined basic user ASPs (ASPs 2-32) will be searched to locate the library. No primary or secondary ASPs will be searched, even if the thread has an ASP group. |
*CURASPGRP | If the thread has an ASP group, the primary and secondary ASPs in the ASP group will be searched to locate the library. The system ASP (ASP 1) and defined basic user ASPs (ASPs 2-32) will not be searched. |
*ALLAVL | All available ASPs will be searched. This includes the system ASP (ASP 1), all defined basic user ASPs (ASPs 2-32), and all available primary and secondary ASPs (ASPs 33-255 with a status of 'Available'). The ASP groups are searched in alphabetical order by the primary ASP. The system ASP and all defined basic user ASPs are searched after the ASP groups. ASPs and libraries to which the user is not authorized are bypassed and no authority error messages are sent. |
Whether or not to remove completion and informational messages related to the deletion of objects from the job log. Messages are only removed if the object was successfully deleted. Diagnostic and escape messages are not removed for objects that could not be deleted. The following values can be specified:
0 | Do not remove the completion and informational messages related to the deletion of objects from the job log. |
1 | >When the delete is successful, remove the completion and informational messages related to the deletion of objects from the job log. |
The structure in which to return error information. For the format of the structure, see Error code parameter. If this parameter is omitted, diagnostic and escape messages are issued to the application.
The following table lists the object types supported by this API. It also shows the values used when the equivalent Delete (DLTxxx) command allows an additional parameter to be specified. Note that this API does not use the DLTxxx commands and therefore changes made to the defaults or to the authority for those commands will not affect the operation of this API. Additional information related to the object type is also shown.
Object type | Description | Authorities | Notes |
---|---|---|---|
*ALRTBL | Alert table | *OBJEXIST | |
*AUTL | Authorization list | *ALLOBJ or be owner of *AUTL | QSYS only |
*BNDDIR | Binding directory | *OBJEXIST | |
*CFGL | Configuration list | *OBJEXIST | QSYS only |
*CHTFMT | Chart format | *OBJEXIST | |
*CLD | C/400® locale description | *OBJEXIST and *OBJMGT | |
*CLS | Class | *OBJEXIST | |
*CMD | Command | *OBJEXIST | |
*CNNL | Connection list | *OBJEXIST | QSYS only |
*COSD | Class-of-service description | *OBJEXIST | QSYS only |
*CRQD | Change request description | *OBJEXIST | |
*CSI | Communications side information | *OBJEXIST | |
*CSPMAP | Cross-system product map | *OBJEXIST | |
*CSPTBL | Cross-system product table | *OBJEXIST | |
*CTLD | Controller description | *OBJEXIST | QSYS only; *CTLD must be varied offline |
*DEVD | Device description | *OBJEXIST. To delete an associated *OUTQ, *OBJEXIST for the *OUTQ and *READ for the QUSRSYS library are also required | QSYS only; *DEVD must be varied offline |
*DTAARA | Data area | *OBJEXIST | *LDA, *GDA, and *PDA data areas cannot be deleted |
*DTADCT | Data dictionary | *OBJEXIST and *USE | Must be in library with same name as *DTADCT |
*DTAQ | Data queue | *OBJEXIST | |
*EDTD | Edit description | *OBJEXIST | Specify full *EDTD name in format QEDITn |
*FCT | Forms control table | *OBJEXIST | |
*FILE | File | *OBJEXIST and *OBJOPR | SYSTEM(*LCL) RMVCST(*RESTRICT); See DLTF command for restrictions |
*FNTRSC | Font resource | *OBJEXIST | |
*FNTTBL | Font mapping table | *OBJEXIST | |
*FORMDF | Form definition | *OBJEXIST | |
*FTR | Filter | *OBJEXIST | |
*GSS | Graphics symbol set | *OBJEXIST | |
*IGCDCT | Double-byte character set (DBCS) conversion dictionary | *OBJEXIST | |
*IGCSRT | Double-byte character set (DBCS) sort table | *OBJEXIST | |
*IGCTBL | Double-byte character set (DBCS) font table | *OBJEXIST | |
*IMGCLG | Image Catalog | *OBJEXIST for *IMGCLG and *X for each directory in the *IMGCLG path name | QUSRSYS only; KEEP(*YES) DEPIMGCLG(*NODELETE) |
*IPXD | Internetwork packet exchange (IPX) description | *OBJEXIST | QSYS only |
*JOBD | Job description | *OBJEXIST | |
*JOBQ | Job queue | *OBJEXIST | See DLTJOBQ command for restrictions |
*JRN | Journal | *OBJEXIST and *OBJOPR | See DLTJRN command for restrictions |
*JRNRCV | Journal receiver | *OBJEXIST, *OBJOPR, and a data authority other than *EXECUTE | DLTOPT(*NONE); See DLTJRNRCV command for restrictions |
*LIB | Library | *OBJEXIST and *USE for *LIB and the authority listed in this table for each object type in the library. If you do not have these authorities for the *LIB, nothing is deleted. If you do not have the correct authority for one or more objects in the *LIB, those objects and the *LIB are not deleted. | QSYS only; See DLTLIB command for restrictions |
*LIND | Line description | *OBJEXIST | QSYS only; *LIND must be varied offline and, if you are deleting a line attached to a frame relay network interface, the *NWID must also be varied offline |
*LOCALE | Locale | *OBJEXIST | |
*MEDDFN | Media definition | *OBJEXIST | |
*MENU | Menu description | *OBJEXIST and *OBJOPR | DLTREFOBJ(*NONE) |
*MGTCOL | Management collection | *OBJEXIST and *USE | |
*MODD | Mode description | *OBJEXIST | QSYS only |
*MODULE | Compiler unit | *OBJEXIST | |
*MSGF | Message file | *OBJEXIST | |
*MSGQ | Message queue | *OBJEXIST, *USE, and *DLT | *MSGQ queue to be deleted cannot be QSYSOPR or a work station message queue |
*NODGRP | Node group | *OBJEXIST | |
*NODL | Node list | *OBJEXIST | |
*NTBD | NetBIOS description | *OBJEXIST | QSYS only |
*NWID | Network interface description | *OBJEXIST | QSYS only; *NWID must be varied offline |
*NWSCFG | Network server configuration | *OBJEXIST and *IOSYSCFG special authority. When a non-default value was specified for the IPSECRULE, CHAPAUT, or SPCERTID parameters when the object was created, *SECADM special authority. | QUSRSYS only; Also deletes the associated validation list; The *NWSCFG cannot be deleted if an active *NWSD is associated with it |
*NWSD | Network server description | *OBJEXIST | QSYS only |
*OUTQ | Output queue | *OBJEXIST | See DLTOUTQ command for restrictions |
*OVL | Overlay | *OBJEXIST | |
*PAGDFN | Page definition | *OBJEXIST | |
*PAGSEG | Page segment | *OBJEXIST | |
*PDFMAP | Portable Document Format map | *OBJEXIST | |
*PDG | Print Descriptor Group | *OBJEXIST | |
*PGM | Program | *OBJEXIST | |
*PNLGRP | Panel group definition | *OBJEXIST | |
*PSFCFG | Print Services Facility™ configuration | *OBJEXIST for *PSFCFG and *IOSYSCFG special authority | |
*QMFORM | Query management form | *OBJEXIST | |
*QMQRY | Query management query | *OBJEXIST | |
*QRYDFN | Query definition | *OBJEXIST | |
*SBSD | Subsystem description | *OBJEXIST and *USE | *SBSD to be deleted cannot have an associated active subsystem |
*SCHIDX | Search index | *OBJEXIST | |
*SPADCT | Spelling aid dictionary | *OBJEXIST | |
*SQLPKG | Structured Query Language package | *OBJEXIST | An *SQLPKG package on a remote system cannot be deleted with this API; See DLTSQLPKG command for restrictions. |
*SQLUDT | User-defined SQL type | *OBJEXIST | |
*SQLXSR | SQL XML Schema Repository | *OBJEXIST | |
*SRVPGM | Service program | *OBJEXIST | |
*SSND | Session description | *OBJEXIST | |
*TBL | Table | *OBJEXIST | |
*TIMZON | Time zone description | *OBJEXIST | QSYS only; *TIMZON to be deleted cannot be one specified in the QTIMZON system value |
*USRIDX | User index | *OBJEXIST | |
*USRQ | User queue | *OBJEXIST | |
*USRSPC | User space | *OBJEXIST | |
*VLDL | Validation list | *OBJEXIST | |
*WSCST | Workstation user customization object | *OBJEXIST |
This API is conditionally threadsafe. For multithreaded jobs, see the restrictions in the corresponding Delete (DLTxxx) command.
In addition to the following error messages, additional CPFxxxx messages can be returned. See the messages in the corresponding Delete (DLTxxx) command.
Message ID | Error Message Text |
---|---|
CPFA030 E | Object already in use. |
CPFB8ED E | Device description &1 not correct for operation. |
CPF2105 E | Object &1 in &2 type &3 not found. |
CPF2110 E | Library &1 not found. |
CPF2113 E | Cannot allocate library. |
CPF2114 E | Cannot allocate object &1 in &2 type *&3. |
CPF2117 E | &4 objects type *&3 deleted. &5 objects not deleted. |
CPF211A E | Object *ALL not allowed for library &1. |
CPF2125 E | No objects deleted. |
CPF2166 E | Library name &1 not valid. |
CPF2173 E | Value for ASPDEV not valid with special value for library. |
CPF2176 E | Library &1 damaged. |
CPF2182 E | Not authorized to library &1. |
CPF2189 E | Not authorized to object &1 in &2 type *&3. |
CPF21B7 E | Not all objects of type *&3 deleted. |
CPF21B8 E | &4 *&3 objects in ASP group &6 deleted; &5 not deleted. |
CPF21B9 E | No objects in ASP group &4 deleted. |
CPF218C E | &1 not a primary or secondary ASP. |
CPF24B4 E | Severe error while addressing parameter list. |
CPF2605 E | Not able to allocate &1. |
CPF3C36 E | Number of parameters, &1, entered for this API was not valid. |
CPF3C3A E | Value for parameter &2 for API &1 not valid. |
CPF3CF1 E | Error code parameter not valid. |
CPF3C3C E | Value for parameter &1 not valid. |
CPF9802 E | Not authorized to object &2 in &3. |
CPF9803 E | Cannot allocate object &2 in library &3. |
CPF9814 E | Device &1 not found. |
CPF9820 E | Not authorized to use library &1. |
CPF9825 E | Not authorized to device &1. |
CPF9833 E | *CURASPGRP or *ASPGRPPRI specified and thread has no ASP group. |
CPF9872 E | Program or service program &1 in library &2 ended. Reason code &3. |
[ Back to top | Object APIs | APIs by category ]