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/txt'y/index

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

           DLTIFS2  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:

          DLTIFS2  OBJ('/home/usera/txt''''''''/index')

If there are two apostrophes together such as:

         /home/usera/txt''y/index

enter  4 + (n  x 4) where  n is the number  of consecutive apostrophes.
To delete the object, specify:

          DLTIFS2  OBJ('/home/usera/txt''''''''''''/index')

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