DLTDUPRCD       DELETE DUPLICATE RECORDS               TAADBKM

 The Delete  Duplicate Records  command deletes  duplicate records in  a
 named  file based  on  a series  of  key fields.   By  default,  only a
 listing  is  output  with  what  would  occur  if  ACTION(*DELETE)  was
 specified.  When  *DELETE is specified,  the first duplicate record  of
 a group is retained and the others are deleted.

 You must have all rights to the file to use DLTDUPRCD.

 An  exclusive lock  (*EXCL) is  requested  on the  member when  running
 DLTDUPRCD with ACTION(*DELETE).

 The named  file is sorted to a temporary file  in QTEMP.  If *DELETE is
 requested, the  duplicates are  deleted from  the  temporary file,  and
 then  the  temporary file  is  copied  back  to  the named  file  using
 MBROPT(*REPLACE).

 A typical command would be:

              DLTDUPRCD    FILE(xxx) FIELD(FIELDA) PRTFLD(FIELDB)

 Because  the default of  ACTION(*CHECK) was  used, no records  would be
 deleted.  A listing  would be output of  any duplicates found based  on
 FIELDA.  The  value of FIELDA would be  listed along with the  value of
 FIELDB which is used to help identify the records.

 If ACTION(*DELETE)  had been specified, all but  the first duplicate of
 each  group would be  deleted.  The  same listing would  be output with
 an indication of what records were deleted.

 Use with RTVDLTRCD TAA Tool
 ---------------------------

 Because  of the  technique  used  by  DLTDUPRCD, the  records  are  not
 deleted in  the named file.   Instead, the  records are deleted  from a
 sorted  copy and  then  the remaining  records are  copied back  to the
 named file using MBROPT(*REPLACE).

 Consequently, there will not  be any deleted records  in the file  upon
 completion and RTVDLTRCD cannot be used.

 For the best  protection, you should make  a backup of the  file before
 using DLTDUPRCD.

 DLTDUPRCD  escape messages you can monitor for
 ----------------------------------------------

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

 Command parameters                                    *CMD
 ------------------

    FILE          The  qualified  name of  the  file to  be  checked for
                  duplicate values.    The  library  value  defaults  to
                  *LIBL.  *CURLIB may also be used.

    FIELD         Up  to 6  field  names  to  be checked  for  duplicate
                  values.   The file is sorted using  the field names as
                  the  sort fields.   The field  values are concatenated
                  together before  checking for  duplicates.   Character
                  fields  must  be  50  characters or  less.    Variable
                  length  fields  are  not  supported.    Decimal fields
                  must be 15 digits or less.

    PRTFLD        A list of up  to 3 print  fields that will be  printed
                  along with the  duplicate values to help  identify the
                  duplicates.   The  default is  *NONE meaning  only the
                  duplicate values will be listed.

                  Character fields  may  be  any length,  but  only  the
                  first 50  bytes are  listed.   Decimal fields must  be
                  15 digits or less.

    MBR           The  member  to  be  processed for  duplicate  values.
                  The  default  is  *FIRST  based  on  the  create date.
                  *LAST may be specified  to process the last  member in
                  the file based on create date.

    ACTION        The type  of action  to be performed.   *CHECK  is the
                  default  to output a listing  describing what would be
                  deleted.  No records are deleted.

                  *DELETE may be  specified to  delete duplicates.   The
                  first duplicate  of a  group is  retained.  The  other
                  duplicates are deleted.  A listing occurs.

    OUTPUT        How  to  output the  results.   *  is  the  default to
                  display the  spooled file  if the  command is  entered
                  interactively.  The  spooled file is deleted  after it
                  is displayed.

                  If  the  command  is entered  in  batch  or *PRINT  is
                  specified,  the spooled  file is  output and retained.

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

   **   For the fields  specified for the  FIELD parameter to  determine
        duplicates: a)  Character fields must  be 50 characters  or less
        and  cannot  be variable  length b)  Decimal  fields must  be 15
        digits or less.

   **   The record length must be 9999 bytes or less.

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

 The following TAA Tools must be on your system:

      CHKOBJ3         Check object 3
      EDTVAR          Edit variable
      EDTVAR2         Edit variable 2
      EXTLST          Extract list
      EXTLST2         Extract list 2
      HLRMVMSG        HLL Remove message
      RSNLSTMSG       Resend last message
      RTVDBFA         Retrieve data base file attributes
      RTVFLDA         Retrieve field attributes
      RTVFLDARR       Retrieve field array
      RTVSYSVAL3      Retrieve system value 3
      SNDCOMPMSG      Send completion message
      SNDESCINF       Send escape information
      SNDESCMSG       Send escape message
      SNDSTSMSG       Send status message
      SORTDBF         Sort data base file

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

 None, the tool is ready to use.

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

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

    DLTDUPRCD     *CMD                   TAADBKM       QATTCMD
    TAADBKMC      *PGM       CLP         TAADBKMC      QATTCL
    TAADBKMR      *PGM       RPG         TAADBKMR      QATTRPG

Added to TAA Productivity Tools June 15, 2004


Home Page

Powered by AS/400Powered by AS/400 Last modified on October 10, 2008 © 1995, 2008 - Jim Sloan, Inc.