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.

   NOOBJMSG      A *YES/*NO  value  that determines  whether an  escape
                 message  is sent  if  no IFS  objects  are found  that
                 match the selection criteria.

                 *YES  is the  default which  sends the  TAA9896 escape
                 message if no IFS objects are found.

                 *NO may  be specified  to  avoid the  escape  message.
                 If  *NO is  specified  and no  IFS  objects are  found
                 that   match   the  selection   criteria,   a  TAA9855
                 completion message is sent instead.


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.

   NOOBJMSG      A  *YES/*NO value  that  determines whether  an escape
                 message is  sent  if no  IFS  objects are  found  that
                 match the selection criteria.

                 *YES is  the default  which sends  the TAA9896  escape
                 message if no IFS objects are found.

                 *NO  may be  specified  to avoid  the  escape message.
                 If  *NO  is specified  and  no IFS  objects  are found
                 that  match   the   selection  criteria,   a   TAA9855
                 completion message is sent instead.


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