Delete Object (QLIDLTO) API


  Required Parameter Group:

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(*)


  Default Public Authority: *USE

  Threadsafe: Conditional; see Usage Notes.

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.


Restrictions

  1. All restrictions that apply to the Delete object (DLTxxx) command for each supported object type also apply to this API.
  2. See Supported External Object Types for more information.

Authorities and Locks

Auxiliary Storage Pool (ASP) Device Authority
Use (*USE)

Library Authority
Execute (*EXECUTE). Additional library authority requirements may be listed for some object types in Supported External Object Types.

Object Authority
See Supported External Object Types for the authorities required for each object type.

Library Lock
*EXCL if deleting a library; otherwise *SHRUPD

Object Lock
*EXCL

Required Parameter Group

Object and library name
INPUT; CHAR(20)

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 (*).
Object type
INPUT; CHAR(10)

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.

Auxiliary storage pool (ASP) device
Input; CHAR(10)

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.
Remove message
INPUT; CHAR(1)

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 >Start of changeWhen the delete is successful,End of change remove the completion and informational messages related to the deletion of objects from the job log.

Error code
I/O; CHAR(*)

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.


Supported External Object Types

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  
Start of change*SQLXSR SQL XML Schema Repository *OBJEXISTEnd of change  
*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  


Usage Notes

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.


Error Messages

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.
Start of changeCPF211A E Object *ALL not allowed for library &1.End of change
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.



API introduced: V6R1

[ Back to top | Object APIs | APIs by category ]