TAA Tools
DLTIFS          DELETE IFS                             TAAIFSQ

The Delete IFS  command allows deletion of  one or more IFS  objects in
a  single directory  based  on selection  criteria such  as  size, last
used   date,  etc.     You   must  be   authorized  to   the  TAACVTIFS
authorization list and must have  *OBJEXIST rights to the object  to be
deleted.   An  ACTION parameter  exists to  allow 'delete'  or 'check'.
The 'check' option always creates a spooled file.

In IFS terminology, a "directory" can be

  **   a directory in the root file system;

  **   a   directory  in  a  directory-centric   file  system  such  as
       QOpenSys

  **   a folder in the QDLS file system ('/QDLS/foldername')

  **   a library in the QSYS.LIB file system ('/qsys.lib/mylib.lib')

You cannot delete a directory if it is in use.

You cannot delete a directory unless:

  **   The directory IS empty when the command begins.

  **   The directory  IS NOT  empty when  the command  begins, but  the
       command  is able  to delete  all  the objects  in the  directory
       specified  in  the  OBJ  parameter,  and  DLTDIR(*YES) has  been
       specified.

If a directory  contains objects at  the end of the  command that  were
supposed to be deleted, an escape message will occur.

See also the DLTIFSDIR command to delete a directory.

No objects in sub-directories are processed.

A typical command would be:

             DLTIFS    OBJ(*) OBJNAM(*ALL) OWNER(SMITH) SIZE(1000000)
               or
             DLTIFS    OBJ('.') OBJNAM(*ALL) OWNER(SMITH) SIZE(1000000)

Either would  delete all objects  in the  'current' directory that  are
owned by SMITH and are at least 1 million bytes.

A  second command DLTIFS2  is also  supported which allows  deletion by
using  a  single  parameter, OBJ,  to  represent  the full  path  to an
object such as:

             DLTIFS    OBJ('./*ALL') OWNER(SMITH) SIZE(1000000)

To prevent errors on  system objects, you cannot delete an  object that
is owned by QSYS, QLPINSTALL, or QLPAUTO.

DLTIFS  uses the  CVTIFS command  to build  a file  in  QTEMP (IFSDIRT)
based  on the  OBJ  parameter.   OPNQRYF is  used  to make  a selection
based on the other parameters.

You can delete  objects in the  QSYS library system  by specifying  the
path  name  in IFS  format.    For  example  to delete  program  object
MYLIB/MYPGM:

             DLTIFS OBJ('/qsys.lib/mylib.lib') OBJNAM(mypgm.pgm)
               or
             DLTIFS2 OBJ('/qsys.lib/mylib.lib/mypgm.pgm')

If  a library is specified,  DLTIFS will attempt to  delete the objects
in the library.   This may result  in errors such  as where a  physical
file  cannot be  deleted  unless  all  dependent logicals  are  deleted
first.   If you  use the command  a second  time, most of  these errors
should be eliminated.

Selection processing
--------------------

The  selection  criteria  such  as  CHGDATE  and  ACCDATE  are  'anded'
together meaning  the object  is only  selected if  all selections  are
satisfied.

The  CHGDATE parameter  is used  for both  the 'attribute  change date'
and  the 'data  change date'.   If either  is satisfied,  the object is
selected.  The  parameters ATRCHGDATE and  DTACHGDATE may be  specified
if you are only interested in one of the dates.

DLTIFS and DLTIFS2 differences and examples
-------------------------------------------

DLTIFS  uses two  parameters, OBJ  and  OBJNAM, to  fully describe  the
object(s)  to be  deleted.   DLTIFS2 uses a  single parameter,  OBJ, to
accomplish the same thing.

DLTIFS and DLTIFS2  allow the  special values  '*' or  '.' meaning  the
current directory.   The '.'  special value is  more useful because  it
is  allowed as the  beginning of  a path.   The following  examples are
valid:

             DLTIFS OBJ(*) OBJNAM(file.txt)
             DLTIFS OBJ('.') OBJNAM(file.txt)
             DLTIFS OBJ('./subdir1') OBJNAM(file.txt)
             DLTIFS2 OBJ(*)
             DLTIFS2 OBJ('./subdir1/file.txt')
             DLTIFS2 OBJ('./subdir1/file.txt')

The following examples are NOT valid

             DLTIFS OBJ('*/subdir1') OBJNAM(file.txt)
             DLTIFS2 OBJ('*/subdir1/file.txt')

When  using  '*'  or  '.',  it is  recommended  that  you  verify (e.g.
DSPCURDIR) that  the current directory  is the  directory you think  it
is.   Otherwise, you  could get unintended  results.   Another solution
is to use the ACTION(*CHECK) function.

In  the  following  examples, /home/joe  is  a  directory;  abc1, bcd2,
cde3, and x.y are files  in /home/joe.  A directory  that is in use  or
is  the  current directory  cannot  be  deleted.   In  these  examples,
assume that /home/joe is neither the current directory, nor in use.

             DLTIFS2 OBJ('/home/joe/*ALL')
               or
             DLTIFS OBJ('/home/joe') OBJNAM(*ALL)

deletes  all four  files.   The  directory '/home/joe'  is  not deleted
because DLTDIR defaults to  *NO.  A second  execution would delete  the
directory.   If  DLTDIR(*YES)  is  specified, the  directory  /home/joe
would  be deleted  because it has  been emptied  by the  current DLTIFS
execution.

             DLTIFS2 OBJ('/home/joe/*'
               or
             DLTIFS OBJ('/home/joe') OBJNAM('*')

deletes all four files in the same manner as the previous example.

             DLTIFS2 OBJ('/home/joe/*3'
               or
             DLTIFS OBJ('/home/joe') OBJNAM('*3')

deletes file 'cde3'

             DLTIFS2 OBJ('/home/joe/*b*'
               or
             DLTIFS OBJ('/home/joe') OBJNAM('*b*')

deletes files'abc1' and 'bcd2'.

             DLTIFS2 OBJ('/home/joe/*.*'

               or
             DLTIFS OBJ('/home/joe') OBJNAM(*.*)

deletes file 'x.y'.

Names with apostrophes
----------------------

A name such as:

         /home/usera/abc'123

may  be  properly deleted  by DLTIFS  or DLTIFS2  if the  OBJ parameter
does not contains an apostrophe.  For example, if

          DLTIFS   OBJ('/home/usera') OWNER(USERB)

and a stream file on the  path is owned by USERB, it would  be deleted.

To  delete   the  stream  file   using  the  OBJ   parameter,  multiple
apostrophes must be entered such as:

          DLTIFS   OBJ('/home/usera') OBJNAM('''abc''''123''')

DLTIFS escape messages you can monitor for
------------------------------------------

      TAA9895    Objects may have been deleted, but errors occurred
      TAA9896    No objects to delete - check selection criteria

Escape messages from based on functions will be re-sent.

DLTIFS2 escape messages you can monitor for
-------------------------------------------

      TAA9895    Objects may have been deleted, but errors occurred
      TAA9896    No objects to delete - check selection criteria

Escape messages from based on functions will be re-sent.

DLTIFS command parameters                             *CMD
-------------------------

   OBJ           The  directory portion of the path  name of the object
                 to  be  deleted.    The   OBJ  parameter  must  be   a
                 directory, a  distributed directory,  a library,  or a
                 folder.   It is  the name (simple  or hierarchical) of
                 the directory  in  which  the  object  in  the  OBJNAM
                 parameter is located.  This parameter is required.

                 The  specified directory  will not  be  deleted if  it
                 contains  objects after  processing or  if DLTDIR(*NO)
                 is specified.

                 Empty  sub-directories  are deleted.   Sub-directories
                 containing  objects are  not  deleted,  because  their
                 objects  are not  processed.   When this  happens, the
                 object  in the  OBJ parameter  is not  deleted because
                 it still contains objects.

                 Specifying '*'  or '.'  will start  processing at  the
                 current directory.   If the  current directory  is the
                 root  ('/'), processing  starts at the  home directory
                 ('/home').

                 A typical command would be:

                       DLTIFS    OBJ('.') OWNER(SMITH) SIZE(1000000)

                 This  would  delete  all  objects  in  the   'current'
                 directory that are owned  by SMITH and are at  least 1
                 million bytes.

                 /QDLS may also be specified.

   OBJNAM        The object name to select.  The default is *ALL.

                 A  specific name or  a generic*  name may  be entered.
                 The  generic  name can  be  any one  of  the following
                 types:

                      ABC* Select all names beginning with ABC.

                      A*C Select all names  starting with A and  ending
                      with C, like ABC ABBC AXYZC

                      A*C*  Select  all  names   starting  with  A  and
                      containing at least one C, like ABC ABCD ABBCD

                      *AB*  Select all  names  containing at  lease one
                      AB combination, like ABC AAB AABC XAB XABC

                 When  using  generic  names  with  embedded  asterisks
                 (such as A*C),  or multiple asterisks (such  as A*C*),
                 the value must be enclosed in apostrophes.

   OBJTYP        The  object type to select.   The default  is *ALL for
                 all object types.  Some  typical IFS object types  are
                 shown in  the command prompt.   Depending on  the path
                 name, it  is also possible  to use other  object types
                 such as *LIB.

   OWNER         The  owner of  the object to  select on.   The default
                 is *ALL for all owners.

                 A specific user name  (or a generic user name)  may be
                 entered or the special values:

                      *USER  for   non-system  supplied   user  profile
                      names.

                      *SYS for system user profile names.

                 The  determination of whether the  profile is a system
                 supplied name is done by the tool RTVIBMPRF.

   SIZE          The size  selection if  any.   This is  a two  element
                 parameter.

                 The first  element is  the size  value which  defaults
                 to *ALL  meaning that size will  not be considered for
                 selection.   A  size  may  be entered  that  is  0  or
                 greater.  The  field selected on depends on  the value
                 of the SIZETYPE parameter.

                 The  second  element   is  the  'size  operator'  that
                 determines  how  to  compare  the  size  value.    The
                 default is *GE.   The  standard Boolean operators  are
                 supported.   The operator  is ignored  for SIZE(*ALL).

   SIZETYPE      The  type of  size to  be listed.   The  value entered
                 determines which  field (IFASIZ  if *ALLOC  or  IFOSIZ
                 if  *ACTUAL) is  used  for the  listing  and the  SIZE
                 parameter.

                 *ALLOC  is the default  for the allocated  size of the
                 objects.   The IFASIZ  field  is used.   This  is  the
                 same  concept as  used  by  i5/OS where  object  sizes
                 shown  by  commands   such  as  DSPOBJD  are  for  the
                 allocated size.

                 *ACTUAL  may be specified  for the actual  size of the
                 objects.   The  IFOSIZ field  is used.    This is  the
                 size that  would be shown  if viewing the  object from
                 a PC.

   CRTDATE       The  'create  date' of  the  object to  select  for if
                 any.  This is a two element parameter.

                 The first  element  is  the create  date  value  which
                 defaults to  *ALL meaning that  create dates  will not
                 be  considered for selection.   A date  may be entered
                 in job format.  The field selected on is IFCRDT.

                 The second  element  is  the  'create  date  operator'
                 that  determines  how  to  compare   the  date.    The
                 default  is *GE.   The standard Boolean  operators are
                 supported.       The    operator   is    ignored   for
                 CRTDATE(*ALL).

   CHGDATE       The 'change  date'  of the  object  to select  for  if
                 any.  This is a two element parameter.

                 The  first  element is  the  change  date value  which
                 defaults  to *ALL meaning  that change  dates will not
                 be considered for  selection.  A  date may be  entered
                 in  job  format.    Both  the  attribute  change  date
                 (IFDHDT  field)  and  the  data  change  date  (IFDMDT
                 field)   are   used   for   selection   in   an   'or'
                 relationship.

                 The  second  element is  the  'change  date  operator'
                 that  determines  how   to  compare  the  date.    The
                 default  is *GE.   The standard  Boolean operators are
                 supported.       The   operator    is   ignored    for
                 CHGDATE(*ALL).

   ATRCHGDATE    The 'attribute  change date'  of the object  to select
                 for if any.  This is a two element parameter.

                 The  first element is the  attribute change date value
                 which defaults to *ALL  meaning that attribute  change
                 dates will  not be considered  for selection.   A date
                 may be  entered in job format.   The field selected on
                 is IFDHDT.

                 The second  element  is  the  'attribute  change  date
                 operator' that  determines  how to  compare the  date.
                 The  default is *GE.   The standard  Boolean operators
                 are   supported.     The   operator  is   ignored  for
                 ATRCHGDATE(*ALL).

   DTACHGDATE    The 'data  change date' of  the object  to select  for
                 if any.  This is a two element parameter.

                 The  first  element  is  the data  change  date  value
                 which  defaults to *ALL  meaning that attribute change
                 dates will not  be considered for  selection.  A  date
                 may be entered  in job format.  The  field selected on
                 is IFDMDT.

                 The   second  element   is   the  'data   change  date
                 operator' that  determines how  to compare  the  date.
                 The default  is *GE.   The standard  Boolean operators
                 are   supported.     The  operator   is   ignored  for
                 DTACHGDATE(*ALL).

   USEDATE       The  'last used date'  of the object  to select for if
                 any.  This is a two element parameter.

                 The  first  element is  the  'last  used  date'  value
                 which  defaults  to  *ALL   meaning  that  'last  used
                 dates'  will not be considered for  selection.  A date
                 may be entered in job  format.  The field selected  on
                 is IFLUDT.

                 The second  element is the  'last used  date operator'
                 that  determines   how  to  compare  the  date.    The
                 default is *GE.   The standard  Boolean operators  are
                 supported.       The   operator    is   ignored    for
                 USEDATE(*ALL).

   ACCDATE       The 'last  accessed date' of the object  to select for
                 if any.  This is a two element parameter.

                 The  first element  is the 'last  accessed date' value
                 which defaults  to *ALL  meaning  that 'last  accessed
                 dates' will  not be considered for selection.   A date
                 may  be entered in job format.   The field selected on
                 is IFACDT.

                 The  second  element  is   the  'last  accessed   date
                 operator'  that determines  how to  compare the  date.
                 The  default is *GE.   The  standard Boolean operators
                 are  supported.     The   operator  is   ignored   for
                 ACCDATE(*ALL).

   DAYSUSED      The 'number of days  used' to select on if  any.  This
                 is a two element parameter.

                 The  first  element  is  the  'number of  days'  value
                 which  defaults to  *ALL meaning  that days  used will
                 not be considered  for selection.   A 'number of  days
                 used'  may be  entered  that  is 0  or  greater.   The
                 field selected on is IFDYSU.

                 The  second  element  is  the  'number  of  days  used
                 operator' that determines  how to  compare the  value.
                 The default  is *GE.   The standard  Boolean operators
                 are   supported.     The   operator  is   ignored  for
                 DAYSUSED(*ALL).

                 The system  only  updates this  information  once  per
                 day.  The value  does not reflect the number  of times
                 an  object  has  been  used.    The data  may  not  be
                 accurate for system objects.

   TRANSLATE     A  *YES/*NO  value for  whether  to translate  the IFS
                 names to upper case before selecting for deletion.

                 *YES  is the  default  so  that  the  comparisons  are
                 'case-insensitive'.

                 *NO may  be specified to not translate  the IFS names.
                 This   should    be   used   when   operating   in   a
                 'case-sensitive' file system.

   USRPRF        The  user  profile  that  will  be  switched  to  when
                 DLTIFS  uses  CVTIFS  and  CHKIFSE.   QSECOFR  is  the
                 default.

                 For  file systems  such as QNTC,  DLTIFS will  fail if
                 QSECOFR does  not  exist.   You  must ensure  that  if
                 multiple  systems  are  used,  the  same  profile  and
                 password exist on each.

                 *CURRENT or a specific user profile may be used.

                 Deletion  of   IFS  objects  occurs   under  the  user
                 profile   running   DLTIFS,  not   under   the  USRPRF
                 parameter's user.

   DLTSPLF       A *YES/*NO  parameter that  determines if the  spooled
                 file  listing  should  be  deleted  if  there  are  no
                 errors.     If   ACTION(*CHECK)  is   specified,  this
                 parameter is ignored.

                 *NO may  be  specified  to  retain  the  spooled  file
                 regardless of whether errors exist.

   DLTDIR        A  *YES/*NO   parameter  for  whether   the  directory
                 object  in the OBJ  parameter should be  deleted if it
                 is empty, either at  the beginning of this  execution,
                 or as  the result of  this execution deleting  all its
                 contents.

                 *NO is  the default to  retain the directory.   If the
                 directory is empty, no error will occur.

                 *YES  may be specified  to delete the  directory if it
                 contains  no  objects   after  processing.     Because
                 sub-directories   are  not   processed,  a   directory
                 containing  any  non-empty  sub-directories  cannot be
                 deleted.

   ACTION        Whether to  delete objects  or to  check whether  they
                 would be deleted.

                 *DLT  is  the  default  to cause  the  objects  to  be
                 deleted.

                 *CHECK  may be specified  to create a  listing of what
                 would be deleted.

   DLTSYMLNK     A *YES/*NO  parameter for  whether to  delete  *SYMLNK
                 object types.

                 *YES is  the default to  delete *SYMLNK  object types.

                 *NO may  be specified to bypass  *SYMLNK object types.
                 Some  symbolic  links  appear as  *STMF  object types.
                 These will be deleted even if *NO is specified.


DLTIFS2 command parameters                            *CMD
--------------------------

   OBJ           The path name  of the object(s)  to be deleted.   This
                 parameter  contains   two  parts,  specified   in  IFS
                 format.    The  first  part  must  be  a directory,  a
                 distributed  directory,  a   library,  or  a   folder.
                 We'll call this  first part the directory  portion and
                 its  value, the  directory.   The  second part  is the
                 objects in  the  directory  that are  to  be  deleted.
                 We'll call it the  object name.  The directory  can be
                 a  simple name or  a name  that is qualified  with the
                 name  of other directories  containing this directory.
                 This parameter is required.

                 The directory  will  not  be deleted  if  it  contains
                 objects  after  DLTIFS2  processes  its  contents  and
                 DLTDIR(*NO) is specified.

                 Empty  subdirectories  are  deleted.    Subdirectories
                 containing  objects  are  not  deleted  because  their
                 objects are  not processed.   When  this happens,  the
                 directory   in  the  directory  portion   of  the  OBJ
                 parameter is  not deleted  because it  still  contains
                 objects.

                 Because the  OBJ parameter is  defined as a  path, you
                 cannot  use *  to  start processing  with  the current
                 directory.   Instead,  you can use  the IFS convention
                 of a  single period  (.).   Specifying .   will  start
                 the convert  process at  the current  directory level.
                 If  the current directory level is  at the root ('/'),
                 the convert process will  start at the home  directory
                 ('/home').

                 A typical command would be:

                       DLTIFS2   OBJ('./*') OWNER(SMITH) SIZE(1000000)

                 This  would  delete  all   objects  in  the  'current'
                 directory that  are owned by SMITH and  are at least 1
                 million bytes.

                 /QDLS may also be specified.

                 The  object  name  portion   accepts  *ALL  or  *   to
                 represent all objects in directory.

                 A specific  name or  a generic*  name may be  entered.
                 The  generic  name can  be  any one  of  the following
                 types:

                      ABC* Select all names beginning with ABC.

                      A*C  Select all names starting  with A and ending
                      with C, like ABC ABBC AXYZC

                      A*C*  Select  all  names  starting  with   A  and
                      containing at least one C, like ABC ABCD ABBCD

                      *AB*  Select all  names containing  at lease  one
                      AB combination, like ABC AAB AABC XAB XABC

                 When  using  generic  names  with  embedded  asterisks
                 (such as A*C), or  multiple asterisks (such as  A*C*),
                 the  OBJ   parameter's  value  must  be   enclosed  in
                 apostrophes.

   OBJTYP        The  object type to select.   The default  is *ALL for
                 all object types.  Some  typical IFS object types  are
                 shown in  the command prompt.   Depending on  the path
                 name, it  is also possible  to use other  object types
                 such as *LIB.

   OWNER         The  owner of  the object to  select on.   The default
                 is *ALL for all owners.

                 A specific user name  (or a generic user name)  may be
                 entered or the special values:

                      *USER  for   non-system  supplied   user  profile
                      names.

                      *SYS for system user profile names.

                 The  determination of whether the  profile is a system
                 supplied name is done by the tool RTVIBMPRF.

   SIZE          The size  selection if  any.   This is  a two  element
                 parameter.

                 The first  element is  the size  value which  defaults
                 to *ALL  meaning that size will  not be considered for
                 selection.   A  size  may  be entered  that  is  0  or
                 greater.  The  field selected on depends on  the value
                 of the SIZETYPE parameter.

                 The  second  element   is  the  'size  operator'  that
                 determines  how  to  compare  the  size  value.    The
                 default is *GE.   The  standard Boolean operators  are
                 supported.   The operator  is ignored  for SIZE(*ALL).

   SIZETYPE      The  type of  size to  be listed.   The  value entered
                 determines which  field (IFASIZ  if *ALLOC  or  IFOSIZ
                 if  *ACTUAL) is  used  for the  listing  and the  SIZE
                 parameter.

                 *ALLOC  is the default  for the allocated  size of the
                 objects.   The IFASIZ  field  is used.   This  is  the
                 same  concept as  used  by  i5/OS where  object  sizes
                 shown  by  commands   such  as  DSPOBJD  are  for  the
                 allocated size.

                 *ACTUAL  may be specified  for the actual  size of the
                 objects.   The  IFOSIZ field  is used.    This is  the
                 size that  would be shown  if viewing the  object from
                 a PC.

   CRTDATE       The  'create  date' of  the  object to  select  for if
                 any.  This is a two element parameter.

                 The first  element  is  the create  date  value  which
                 defaults to  *ALL meaning that  create dates  will not
                 be  considered for selection.   A date  may be entered
                 in job format.  The field selected on is IFCRDT.

                 The second  element  is  the  'create  date  operator'
                 that  determines  how  to  compare   the  date.    The
                 default  is *GE.   The standard Boolean  operators are
                 supported.       The    operator   is    ignored   for
                 CRTDATE(*ALL).

   CHGDATE       The 'change  date'  of the  object  to select  for  if
                 any.  This is a two element parameter.

                 The  first  element is  the  change  date value  which
                 defaults  to *ALL meaning  that change  dates will not
                 be considered for  selection.  A  date may be  entered
                 in  job  format.    Both  the  attribute  change  date
                 (IFCHDT  field)  and  the  data  change  date  (IFMODT
                 field)  are   used   for  selection   with   an   'or'
                 condition.

                 The  second  element is  the  'change  date  operator'
                 that  determines  how   to  compare  the  date.    The
                 default  is *GE.   The standard  Boolean operators are
                 supported.       The   operator    is   ignored    for
                 CHGDATE(*ALL).

   ATRCHGDATE    The 'attribute  change date'  of the object  to select
                 for if any.  This is a two element parameter.

                 The  first element is the  attribute change date value
                 which defaults to *ALL  meaning that attribute  change
                 dates will  not be considered  for selection.   A date
                 may be  entered in job format.   The field selected on
                 is IFDHDT.

                 The second  element  is  the  'attribute  change  date
                 operator' that  determines  how to  compare the  date.
                 The  default is *GE.   The standard  Boolean operators
                 are   supported.     The   operator  is   ignored  for
                 ATRCHGDATE(*ALL).

   DTACHGDATE    The 'data  change date' of  the object  to select  for
                 if any.  This is a two element parameter.

                 The  first  element  is  the data  change  date  value
                 which  defaults to *ALL  meaning that attribute change
                 dates will not  be considered for  selection.  A  date
                 may be entered  in job format.  The  field selected on
                 is IFDMDT.

                 The   second  element   is   the  'data   change  date
                 operator' that  determines how  to compare  the  date.
                 The default  is *GE.   The standard  Boolean operators
                 are   supported.     The  operator   is   ignored  for
                 DTACHGDATE(*ALL).

   USEDATE       The  'last used date'  of the object  to select for if
                 any.  This is a two element parameter.

                 The  first  element is  the  'last  used  date'  value
                 which  defaults  to  *ALL   meaning  that  'last  used
                 dates'  will not be considered for  selection.  A date
                 may be entered in job  format.  The field selected  on
                 is IFLUDT.

                 The second  element is the  'last used  date operator'
                 that  determines   how  to  compare  the  date.    The
                 default is *GE.   The standard  Boolean operators  are
                 supported.       The   operator    is   ignored    for
                 USEDATE(*ALL).

   ACCDATE       The 'last  accessed date' of the object  to select for
                 if any.  This is a two element parameter.

                 The  first element  is the 'last  accessed date' value
                 which defaults  to *ALL  meaning  that 'last  accessed
                 dates' will  not be considered for selection.   A date
                 may  be entered in job format.   The field selected on
                 is IFACDT.

                 The  second  element  is   the  'last  accessed   date
                 operator'  that determines  how to  compare the  date.
                 The  default is *GE.   The  standard Boolean operators
                 are  supported.     The   operator  is   ignored   for
                 ACCDATE(*ALL).

   DAYSUSED      The 'number of days  used' to select on if  any.  This
                 is a two element parameter.

                 The  first  element  is  the  'number of  days'  value
                 which  defaults to  *ALL meaning  that days  used will
                 not be considered  for selection.   A 'number of  days
                 used'  may be  entered  that  is 0  or  greater.   The
                 field selected on is IFDYSU.

                 The  second  element  is  the  'number  of  days  used
                 operator' that determines  how to  compare the  value.
                 The default  is *GE.   The standard  Boolean operators
                 are   supported.     The   operator  is   ignored  for
                 DAYSUSED(*ALL).

                 The system  only  updates this  information  once  per
                 day.  The value  does not reflect the number  of times
                 an  object  has  been  used.    The data  may  not  be
                 accurate for system objects.

   TRANSLATE     A  *YES/*NO  value for  whether  to translate  the IFS
                 names to upper case before selecting for deletion.

                 *YES  is the  default  so  that  the  comparisons  are
                 'case-insensitive'.

                 *NO may  be specified to not translate  the IFS names.
                 This   should    be   used   when   operating   in   a
                 'case-sensitive' file system.

   USRPRF        The  user  profile  that  will  be  switched  to  when
                 DLTIFS2  uses CVTIFS  and  CHKIFSE.   QSECOFR  is  the
                 default.   For file systems such  as QNTC, DLTIFS will
                 fail if  QSECOFR  does not  exist.   You  must  ensure
                 that if  multiple systems are  used, the  same profile
                 and password exist on each.

                 *CURRENT or a specific user profile may be used.

                 Deletion  of   IFS  objects  occurs   under  the  user
                 profile   running   DLTIFS,  not   under   the  USRPRF
                 parameter's user.

   DLTSPLF       A *YES/*NO  parameter that  determines if the  spooled
                 file  listing  should  be  deleted  if  there  are  no
                 errors.     If   ACTION(*CHECK)  is   specified,  this
                 parameter is ignored.

                 *NO may  be  specified  to  retain  the  spooled  file
                 regardless of whether errors exist.

   DLTDIR        A  *YES/*NO   parameter  for  whether   the  directory
                 object  in the OBJ  parameter should be  deleted if is
                 empty, either at the  beginning of this execution,  or
                 as  the result  of  this  execution deleting  all  its
                 contents.

                 *NO is the default to retain the directory.

                 *YES may  be specified to  delete the directory  if it
                 contains   no  objects  after   processing.    Because
                 sub-directories  are   not   processed,  a   directory
                 containing  any  non-empty sub-directories  cannot  be
                 deleted.

   ACTION        Whether  to delete  objects or  to check  whether they
                 would be deleted.

                 *DLT  is the  default  to  cause  the  objects  to  be
                 deleted.

                 *CHECK may  be specified to  create a listing  of what
                 would be deleted.

   DLTSYMLNK     A  *YES/*NO parameter  for  whether to  delete *SYMLNK
                 object types.

                 *YES is the  default to delete  *SYMLNK object  types.

                 *NO may be  specified to bypass *SYMLNK  object types.
                 Some  symbolic  links appear  as  *STMF object  types.
                 These will be deleted even if *NO is specified.


Restrictions
------------

You must be authorized to the TAACVTIFS authorization list.

You must be authorized to delete the object (*OBJEXIST).

You cannot delete a directory type object unless:

  **   The directory is empty when the command begins.

  **   All   objects   in   the  directory   have   been   deleted  and
       DLTDIR(*YES) has been specified.

You cannot  delete an  object  that is  owned by  QSYS, QLPINSTALL,  or
QLPAUTO.

Prerequisites
-------------

The following TAA Tools must be on your system:

     CHKGENERC       Check generic
     CHKIFSE         Check IFS entry
     CRTDUPPF        Create duplicate PF
     CVTIFS          Convert IFS
     EDTVAR          Edit variable
     SNDCOMPMSG      Send completion message
     SNDESCMSG       Send escape message
     SNDJLGMSG       Send job log message

Implementation
--------------

None, the tool is ready to use.

Objects used by the tool
------------------------

   Object        Type    Attribute      Src member    Src file
   ------        ----    ---------      ----------    ----------

   DLTIFS        *CMD                   TAAIFSQ       QATTCMD
   DLTIFS2       *CMD                   TAAIFSQ2      QATTCMD
   TAAIFSQC      *PGM       CLP         TAAIFSQC      QATTCL
   TAAIFSQC2     *PGM       CLP         TAAIFSQC2     QATTCL
   TAAIFSQC3     *PGM       CLP         TAAIFSQC3     QATTCL
   TAAIFSQC4     *PGM       CLP         TAAIFSQC4     QATTCL
   TAAIFSQR      *PGM       RPGLE       TAAIFSQR      QATTRPG
   TAAIFSQR2     *PGM       RPGLE       TAAIFSQR2     QATTRPG
Structure
---------

DLTIFS      Cmd
  TAAIFSQC     CL Pgm
    TAAIFSQR     RPGLE Pgm
      TAAIFSQC2   CL Pgm
      TAAIFSQC4   CL Pgm

DLTIFS2     Cmd
  TAAIFSQC3    CL Pgm
    TAAIFSQR2    RPGLE Pgm
    TAAIFSQR     RPGLE Pgm
      TAAIFSQC2   CL Pgm
      TAAIFSQC4   CL Pgm
					

Added to TAA Productivity tools October 15, 2001


Home Page Up to Top