Delete Module (DLTMOD)

The Delete Module (DLTMOD) command deletes a compiled module or group of modules. If the module is associated with a binding directory, the entry in the binding directory for this module is not valid after deletion.

Restrictions:

Parameters

Keyword Description Choices Notes
MODULE Module Qualified object name Required, Positional 1
Qualifier 1: Module Generic name, name
Qualifier 2: Library Name, *LIBL, *CURLIB, *USRLIBL, *ALL, *ALLUSR

Module (MODULE)

Specifies the modules to be deleted. A specific module or a generic module can be specified; either type can be optionally qualified by specifying a library name.

Note: To remove all module objects for a specific library, you can use RMVLNK OBJLNK('QSYS.LIB/libname.LIB/*.MODULE'), where libname is the name of the library from which all modules are to be deleted. See the RMVLNK command for more information.

This is a required parameter.

Qualifier 1: Module

generic-name
Specify the generic name of the modules to be deleted. A generic name is a character string of one or more characters followed by an asterisk (*); for example, ABC*. If a generic name is specified, then all modules with names that begin with the generic name, and for which the user has authority, are deleted. If an asterisk is not included with the generic (prefix) name, the system assumes it to be the complete module name.
name
Specify the name of the module to be deleted.

Qualifier 2: Library

*LIBL
All libraries in the library list for the current thread are searched until the first match is found.
*CURLIB
The current library for the job is searched. If no library is specified as the current library for the job, the QGPL library is used.
*USRLIBL
Only the libraries in the user portion of the job's library list are searched.
*ALL
All libraries in the system, including QSYS, are searched.
*ALLUSR
All user libraries are searched. All libraries with names that do not begin with the letter Q are searched except for the following:

#CGULIB     #DSULIB     #SEULIB
#COBLIB     #RPGLIB
#DFULIB     #SDALIB

Although the following Qxxx libraries are provided by IBM, they typically contain user data that changes frequently. Therefore, these libraries are considered user libraries and are also searched:

QDSNX       QRCLxxxxx   QUSRDIRDB   QUSRVI
QGPL        QSRVAGT     QUSRIJS     QUSRVxRxMx
QGPL38      QSYS2       QUSRINFSKR
QMGTC       QSYS2xxxxx  QUSRNOTES
QMGTC2      QS36F       QUSROND
QMPGDATA    QUSER38     QUSRPOSGS
QMQMDATA    QUSRADSM    QUSRPOSSA
QMQMPROC    QUSRBRM     QUSRPYMSVR
QPFRDATA    QUSRDIRCF   QUSRRDARS
QRCL        QUSRDIRCL   QUSRSYS

  1. 'xxxxx' is the number of a primary auxiliary storage pool (ASP).
  2. A different library name, in the format QUSRVxRxMx, can be created by the user for each previous release supported by IBM to contain any user commands to be compiled in a CL program for the previous release. For the QUSRVxRxMx user library, VxRxMx is the version, release, and modification level of a previous release that IBM continues to support.
name
Specify the name of the library to be searched.

Examples

DLTMOD   MODULE(XYZ/M*)

This command deletes all modules in library XYZ that begin with the letter M.

Error messages

*ESCAPE Messages

CPF2105
Object &1 in &2 type *&3 not found.
CPF2110
Library &1 not found.
CPF2113
Cannot allocate library &1.
CPF2114
Cannot allocate object &1 in &2 type *&3.
CPF2117
&4 objects type *&3 deleted. &5 objects not deleted.
CPF2125
No objects deleted.
CPF2160
Object type *&1 not eligible for requested function.
CPF2176
Library &1 damaged.
CPF2182
Not authorized to library &1.
CPF2189
Not authorized to object &1 in &2 type *&3.
CPFA030
Object already in use.
CPFE007
Error occurred processing command.
CPF9803
Cannot allocate object &2 in library &3.