TAA Tools
CHGDBFINC       CHANGE DATA BASE INCREMENTS            TAADBOI

The Change  Data Base  Increments command  changes the  number of  size
increments for  one or more data  base files in a library  based on the
current  percentage of  records and a  specified new  percentage.  Only
data physical  files are processed.   The  command defaults to  'check'
meaning no changes occur unless ACTION(*CHANGE) is specified.

You must have *ALLOBJ special authority to use CHGDBFINC.

Changing a  file requires exclusive  use of the  file.  You  cannot use
ACTION(*CHANGE) to cause a change on a file that is in use.

A typical command would be:

             CHGDBFINC  FILE(xxx/*ALL) CURPCTLMT(75) NEWPCTLMT(65)

All  data  base files  in  the named  library  would be  checked.   One
record for the  member with  the largest number  of records  (including
deleted records)  for each file  would be  listed.  Each  member listed
would describe:

        - The number of existing records (including deletions)
        - The record capacity based on the data base SIZE attribute
        - The current percentage used of the capacity
        - The current number of increments
        - The maximum number of increments
        - The increment size

If the percentage used is greater than the NEWPCTLMT specified:

        - The number of increments to be added
        - The new percentage of capacity

Source  files are always bypassed  and flagged.  Files  which have zero
for the maximum number of increments are also implicitly bypassed.

By default, files  with one member  and one record  are bypassed  (they
are considered to be control files).

Because the  default is  ACTION(*CHECK), no  changes would occur  which
allows you  to review the  changes that would  occur if ACTION(*CHANGE)
was specified.

Using  ACTION(*CHANGE) produces the same  listing along with any errors
such as the  file is allocated  and cannot be  changed.  CHGPF  is used
internally to  change the file.   This causes  each member of  the file
to  be changed.   You  cannot change  the SIZE value  of just  a single
member of a file.

A file with a capacity of *NOMAX is flagged and never changed.

Example
-------

Assume  you  created  a  file  and  used  the  defaults  for  the  SIZE
parameter which  allows for  10,000 initial  records plus 3  increments
of  1,000 records.   This provides  for a  capacity of  13,000 records.
If 11,000 records exist  (including deleted records),  there is an  85%
usage of capacity.

If the  default of  75% is  used for CURPCTLMT,  the CHGDBFINC  command
would identify  that the file capacity must be  increased.  If you used
the  default for  NEWPCTLMT, you  are requesting  that the  capacity be
raised to allow for 75% usage.

Adding one increment of 1,000  records would allow for a  14,000 record
capacity,  but  this  would  only  produce  a  78%  usage.    Adding  2
increments  would increase the  capacity to 15,000  records and produce
a 73% usage.   Therefore, 2  increments would be  proposed to be  added
by   ACTION(*CHECK)  and   the   2  increments   would   be  added   by
ACTION(*CHANGE).

Note  that for each  file, only the  member with the  largest number of
records is considered.   Deleted records are also  counted in terms  of
using up  capacity.   The  CHGPF command  used will  change the  number
increments  for  both  existing and  new  members  added  to the  file.
CHGPF may only be used when the file is not allocated.

In  some  cases,  you may  prefer  to  increase the  increment  size in
addition  or  instead of  letting  the  CHGDBFINC  command  change  the
number increments.   In  the previous example,  if after  reviewing the
the ACTION(*CHECK) listing, you had specified:

             CHGPF     FILE(xxx/yyy) SIZE(*SAME 5000 *SAME)

you  would have increased the capacity to  18,000 records and had a 61%
usage.  CHGDBFINC would not flag the file after this change.

Recovering from a CHGDBFINC error
---------------------------------

The  most   typical  error   is  that   the  file   is   in  use   when
ACTION(*CHANGE) is specified.

You can recover by waiting  for a time when the file is  not in use and
run  CHGDBFINC  again  or just  use  CHGPF  with  the recommended  SIZE
value.

CHGDBFINC escape messages you can monitor for
---------------------------------------------

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

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

   FILE          The qualified name  of the  file to be  processed.   A
                 single or generic  name may be entered or  the special
                 value *ALL.  A specific library must be named.

                 Only  data  physical  files  are  processed.    Source
                 files are flagged and bypassed.

   CURPCTLMT     The  current  percent  of  capacity  limit  that  will
                 cause a change.  The default is 75%.

                 See the  previous  example  to understand  a  specific
                 situation.

   NEWPCTLMT     The  new percent limit  of capacity.   The  default is
                 *CURPCTLMT    meaning   the    value   specified   for
                 CURPCTLMT.

                 If the  CURPCTLMT is  greater than  the percentage  of
                 capacity  used, the  number  of  increments needed  to
                 decrease   the   percentage   of   capacity  used   is
                 calculated until the NEWPCTLMT is reached.

                 If a value is entered,  it cannot be greater than  the
                 CURPCTLMT.

   BYPONERCD     A  *YES/*NO  parameter for  whether  to  bypass  files
                 that  have  one member  and  one  record.   These  are
                 typically control files that will not grow.

                 *YES  is the  default to  flag these  files and bypass
                 them.    This  allows  you  to  specify  the  size  as
                 containing only one record.

                 *NO  may be specified  to treat  these files  the same
                 as other files.

   ACTION        The type of action to be performed.

                 *CHECK  is  the  default that  produces  a  listing of
                 what would be changed.

                 *CHANGE may  be  specified  to change  the  number  of
                 increments  for  a  file  if  the  NEWPCTLMT  capacity
                 percentage is not met.

   OUTPUT        How  to  output the  results.   *  is  the  default to
                 display the  spooled file  if the  command is  entered
                 interactively.   If the display  is ended  with F3/F12
                 or the  Enter key, the  spooled file is  deleted after
                 it  is  displayed.   To retain  the spooled  file, you
                 may use the the  System Request 'Cancel' function  and
                 the spooled file will exist in a HLD status.

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


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

  **   You must have *ALLOBJ special authority to use CHGDBFINC.

  **   Changing a  file  requires  exclusive  use of  the  file.    You
       cannot use ACTION(*CHANGE)  to cause a change on a  file that is
       open or in use.

  **   If  a member has more  than 2GB of records,  the system does not
       return the  actual number  of records.   If  a member  is  found
       with more than 2GB of records, a flag is set.

  **   A file with a  capacity of *NOMAX is flagged  and never changed.

  **   A  file cannot  be changed  if the  number  of increments  is at
       32,767 and will be flagged.

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

The following TAA Tools must be on your system:

     CHKALLOBJ       Check *ALLOBJ special authority
     CHKOBJ3         Check object 3
     EDTVAR          Edit variable
     RSNLSTMSG       Resend last message
     RTVDIAGMSG      Retrieve diagnostic message
     RTVSYSVAL3      Retrieve system value 3
     SNDCOMPMSG      Send completion message
     SNDESCINF       Send escape information
     SNDESCMSG       Send escape message
     SNDSTSCNT       Send status count
     SNDSTSMSG       Send status message

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

None, the tool is ready to use.

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

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

   CHGDBFINC     *CMD                   TAADBOI       QATTCMD
   TAADBOIC      *PGM       CLP         TAADBOIC      QATTCL
   TAADBOIC2     *PGM       CLP         TAADBOIC2     QATTCL
   TAADBOIR      *PGM       RPG         TAADBOIR      QATTRPG
					

Added to TAA Productivity tools October 15, 2013


Home Page Up to Top