SAVALLCHG     SAVE ALL CHANGES TO TAPE                  TAASAVC

 The SAVALLCHG  command does a  SAVCHGOBJ against  all libraries on  the
 system  to tape  and prints  a  summary listing.   This  allows  a good
 daily  backup  for  many  systems  when  used  in  conjunction  with  a
 periodic SAVLIB LIB(*ALLUSR), LIB(*NONSYS), or LIB(*SAVSTG).

 The  user  of  the  command  must  be  authorized   to  the  TAASAVALLC
 authorization list.

 Three commands are provided:

   **   SAVALLCHG - Saves all changed objects to tape

   **   SAVALLCHG2  - Saves  all  changed  objects to  save  files in  a
        specified library

   **   SAVALLSAVF - Saves the SAVALLCHG2 save files to tape

   **   Typical commands would be entered as:

             SAVALLCHG    DEV(TAP01)  REFDATE(*ALLUSR)
                   or
             SAVALLCHG    DEV(TAP01)  REFDATE(*SAVSTG)

        The  SAVALLCHG  function does  not require  any  additional DASD
        space, but does  require operator attendance  if a media  change
        is needed.

             SAVALLCHG2
             SAVALLSAVF   DEV(TAP01)

        The SAVALLCHG2  function does  not require  operator attendance,
        but  does   require  sufficient  DASD  space.    The  SAVALLSAVF
        function requires  operator  attendance  if a  media  change  is
        needed.

 There is a  companion command to  restore from the tape  media created.
 See the TAA Tool RSTALLCHG.

 Comparison with SAVCHGOBJ
 -------------------------

 The  SAVALLCHG tool  has been left  in TAATOOL  even though  the system
 supported  SAVCHGOBJ command  supports a  similar function.   The major
 differences are as follows:

   **   A listing is produced  with SAVALLCHG with one line  per library
        stating  the  number  of  objects  saved and  the  number  which
        cannot  be saved.  This  provides a simple summary  of where the
        problems are if any.

   **   SAVALLCHG2 command  allows  saving  of  all  libraries  to  save
        files.  SAVCHGOBJ can only save one library to a save file.

   **   If a new library  exists, it must be saved  first with SAVLIB in
        order for  SAVCHGOBJ to operate.   SAVALLCHG recognizes the fact
        the library has never  been saved and saves  all objects.   This
        function is not available if REFDATE(*SAVLIB) is specified.

   **   SAVCHGOBJ supports  the LIB(*ALLUSR) value.   The  same function
        is supported  by SAVALLCHG.  If you  use SAVALLCHG LIB(*ALLUSR),
        you must restore with the RSTALLCHG TAA Tool.

   **   SAVALLCHG   can  save   the  changes   from  the   last  SAVSTG.
        SAVCHGOBJ does not recognize a SAVSTG form of recovery.

 General comments
 ----------------

 Both SAVALLCHG  commands  assume the  use  of standard  labeled  tapes.
 This  is a  requirement  for the  use  of the  RSTALLCHG  command.   To
 create  a standard  label tape, you  must specify  the NEWVOL parameter
 on the INZTAP command.

 The SAVCHGOBJ  command allows  up  to 300  libraries to  be  specified.
 The SAVALLCHG  command finds  the libraries  that exist  in the  system
 and builds  a list of 300 at  a time.  This allows  an efficient use of
 SAVCHGOBJ as the system can better  overlap the processing time on  one
 library while writing out the changed objects for another library.

 The SAVALLCHG2 command  saves one library at a  time to a save  file in
 the specified  library.  All  save files in the  designated library are
 cleared  at the beginning  of the command.   This allows  you to follow
 the command  with SAVALLSAVF and  have the  tape output represent  only
 the changed objects  on the system (it would be a  mirror image of what
 you would have have saved with SAVALLCHG).

 You  may specify up to  100 library names (including  generic names) to
 be included.   This  allows a  save of  specific libraries  and may  be
 used  if you  have multiple  tape  drives and  want multiple  SAVALLCHG
 commands to  be in operation.   If the INCLIB parameter  is one or more
 library names, the REFDATE  parameter value is  used only to  determine
 a date (no libraries are included or excluded).

 You may specify  up to 100  library names (including generic  names) by
 using  the BYPASS  parameter on  the SAVALLCHG  commands.   This allows
 you  to tailor  your save strategy  if you have  some unique processing
 for certain  libraries.    For example,  you  may  prefer to  save  the
 entire contents  of some libraries and  then use SAVALLCHG  on the rest
 of the libraries.

 A  listing is produced to the SAVALLCHG  spooled file with one line for
 each library.  The listing  describes the number of objects saved,  not
 saved  (some problem  occurred such  as an  update lock  exists on  the
 object),  the create  date of the  library (if  it is greater  than the
 reference date)  and the  volume identification  of where  the  objects
 were saved.   If  a library  is bypassed,  it is listed  along with  an
 indication that it was bypassed.

 If  the INCLIB  parameter lists one  or more  libraries, those  are the
 only libraries that will appear in the listing.

 The  SAVALLCHG commands  must adopt the  authority of  QSECOFR in order
 to access all  the libraries (some  may be private).   The user  of the
 command must be authorized to the TAASAVALLC authorization list.

 Which libraries are saved
 -------------------------

 If  INCLIB is a  list of  libraries (the  value is  other than  *ALL) a
 REFDATE  special value (such  as *ALLUSR) is  used only  to determine a
 date and time (not the libraries to be saved).

 When INCLIB is not *ALL, a  list of bypass libraries may be  specified.
 For  example,  INCLIB(A*)  and BYPASS(ABC)  would  save  all  libraries
 beginning with A except for ABC.

 If  REFDATE(*ALLUSR)  is  specified,  certain  #  and Q  libraries  are
 bypassed.  See  the SAVLIB command  LIB parameter for  a discussion  of
 what libraries are bypassed.

 All other REFDATE  values bypass the  same libraries that  are bypassed
 by  a SAVLIB(*NONSYS).   For  example, QSYS  and QRPLOBJ  are bypassed.
 The  Backup and Recovery Guide  describes certain system libraries that
 will not be saved if you specify SAVLIB LIB(*NONSYS).

 If you want to  bypass additional libraries, use the  BYPASS parameter.

 No  corresponding function  exists for  SAVLIB LIB(*IBM).    The reason
 for  this  is  that  PTFs may  be  applied  to  system  libraries which
 contain code and this  would cause objects to  be saved.  However,  the
 PTF index is only  saved by a SAVLIB command.   Consequently, a restore
 of SAVCHGOBJ  media would make the library and  the index out of synch.
 You should retain your PTFs until the next full library save.

 Reference date and time
 -----------------------

 You may specify  a reference date  or use the  special values  *NONSYS,
 *ALLUSR, *SAVSTG,  or *SAVLIB.   If  *NONSYS or *ALLUSR  are used,  the
 last  date  of the  corresponding  function for  SAVLIB  (e.g.   SAVLIB
 LIB(*NONSYS))  is used.   A similar function occurs  if *SAVSTG is used
 (the last  SAVSTG date  is used).   These  values come  from Qxxx  data
 areas kept in QSYS which are updated when the full save occurs.

 If  *SAVLIB  is specified,  the  last  date for  each  full  save of  a
 library is used.

 If  a special  value  is entered  for REFDATE,  you  may not  specify a
 reference time.

 You may enter your own reference date and time if needed.

 Expiration date
 ---------------

 The SAVALLCHG commands are  designed to be used  with a media  rotation
 method.   For example,  assume you have  three sets  of media  that you
 rotate  for  backup.    The  command  defaults  are  set  to  allow  an
 expiration date of  3 days from the  day of entry.   This prevents  the
 operator from making a  gross mistake (such as continuous  saves to the
 same  media), but  still  requires the  operator to  mount  the correct
 volumes.

 If  you  have a  set of  media for  each  day of  the week,  you should
 change the default or specify the proper value.

 Volume ID
 ---------

 The VOL  parameter is supported  on both  the SAVALLCHG and  SAVALLSAVF
 commands.   The default  is *MOUNTED  which is the  same as  the normal
 Save commands.

 A 4  character volume ID can be entered  in which case the command will
 append 01, 02...50.  For example,  if you specify ABCD, the volume  IDs
 requested  will   be  ABCD01,  ABCD02...ABCD50.     If  you   use  this
 technique,  you  must initialize  your volumes  with  the corresponding
 names.  Note that you  must enter 4 characters  (ABC cannot be used  as
 it is only 3 characters).

 The advantage of  this approach is  to assist the operator  in mounting
 the  correct  tapes and  in  the  correct sequence.    The system  save
 commands  will  ensure  the  names  match  and  the  volumes  appear in
 sequence (Not all 50  must appear).  If  an error occurs, a  message is
 sent to QSYSOPR.

 If you  use a media rotation method,  you would want to  name the first
 set  SETA  and the  2nd  SETB or  some  such  method.   You  can either
 require the  operator to  enter the  'set name'  on  the provided  Save
 commands or  you could place  the commands in  a CL Program  and prompt
 the operator  for the name of the set to be  used.  The TAA Tool PMTOPR
 could be used to help ensure  that the operator was entering a  correct
 set name.

 SAVALLCHG also supports  the VOLID parameter  to allow a  specific list
 of Volume IDs to be entered if VOL(*VOLLIST) is specified.

 The  advantages of  expiration date and  Volume ID  are to  help ensure
 that  the  operator is  using the  correct media.   Neither,  either or
 both techniques may be used.

 Considerations
 --------------

 Some defaults  are changed from  the normal  SAVCHGOBJ command.   These
 are described in the command parameters.

 During  processing of  either  SAVALLCHG command,  status messages  are
 sent  to the  external message  queue to inform  the operator  of which
 library is being saved.   Because of  the way SAVCHGOBJ functions,  you
 may  see messages  stating  that  a library  is  being  saved when  the
 system is actually saving a previous library to media.

 If  any objects cannot  be saved or  any other errors  occur during the
 processing, the commands will end with a CPF9898 escape message.

 An option exists on all of the  commands which defaults to *YES to  run
 the  CHKSAVRST command.   This  command  will produce  a  listing to  a
 spooled file  for all the  S/R messages which have  occurred during the
 job.

 SAVALLCHG2  will create save  files if the  a library to  be saved does
 not have  a  corresponding save  file  in the  specified  library.   If
 BGNLIB is  *FIRST, all the  save files are  cleared.  If a  library was
 saved  and has since been deleted, an  empty save file will exist after
 the next  successful  use of  SAVALLCHG2.   Periodically  clearing  the
 library of save files will allow a refresh to occur.

 SAVALLCHG     Save all changes directly to tape       *CMD
 ---------     ---------------------------------

 The SAVALLCHG command saves all changes directly to tape.

 If the command  is interrupted, recovery can be  achieved by specifying
 the library  name to begin with  on the BGNLIB parameter.   You can use
 the job log to  determine the last library  which was correctly  saved.

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

    DEV           This  is the  same  parameter  as  on SAVCHGOBJ.    It
                  supports a list of up to 2 devices.

    VOL           This  is similar to  the same parameter  on SAVCHGOBJ.
                  The  default  of  *MOUNTED  is  the  same  meaning  to
                  ignore the  volume  ID on  the tape.    A 4  character
                  entry may be  made to describe a set  of volumes.  (If
                  you   enter  other  than   *MOUNTED,  it   must  be  4
                  characters).   A  two digit  sequence number  will  be
                  appended  to  the  name   given.    See  the  previous
                  discussion of Volume ID.

                  The  special value *VOLLIST may  be entered to specify
                  that a list  of Volume  IDs is being  provided in  the
                  VOLID parameter.

    VOLID         The default  is *NONE meaning  that the  VOL parameter
                  determines the  Volume IDs to  be used.  A  list of up
                  to  40 Volume IDs  may be entered  if VOL(*VOLLIST) is
                  specified.

    INCLIB        A list of up  to 100 library names (or  generic names)
                  that will be  saved.  The default is  *ALL meaning all
                  libraries are considered.

                  This  parameter is helpful  if you  have multiple tape
                  devices and want to  have multiple SAVALLCHG  commands
                  running.

                  When one or  more libraries are specified  for INCLIB,
                  a REFDATE  special value such as  *ALLUSR is used only
                  to determine a  reference date and  time (it does  not
                  control the libraries to be saved).

                  The BYPASS parameter  may be used in  conjunction with
                  INCLIB.     For  example  INCLIB(A*)  and  BYPASS(ABC)
                  would  save all libraries beginning  with A except for
                  ABC.

    BYPASS        The library names (or  generic names) to be  bypassed.
                  *NONE  is  the  default.     If  you  have  some  test
                  libraries  or  a  different  save  strategy  for other
                  libraries that  you do  not want  saved,  enter up  to
                  100 names.

                  Some  libraries  are  implicitly bypassed.    See  the
                  REFDATE parameter.

    LIBTYPE       The  type of  library  to be  saved.   The  default is
                  *ALL for any library type.

                  *PROD  may  be  specified  to  save  only   production
                  libraries (TYPE of PROD).

                  *TEST  may  be  specified  to   save  only  production
                  libraries (TYPE of TEST).

    SEQNBR        The sequence  number of the  first file.   The default
                  is  1  which  differs  from  the  normal  SAV commands
                  which use a default of *END.

    EXPDATE       The expiration  date  of the  tape.   The  default  is
                  *DAY3 which  differs from the SAVCHGOBJ  default.  The
                  special  values *PERM or *DAY1, *DAY2  ...  *DAY60 may
                  be entered  or a  specific date.    The *DAYnn  values
                  mean to  add a number of  days to the current  date as
                  the  expiration  date.   For example,  *DAY3  causes a
                  expiration date of 3 days in the future.

                  If a  specific date  is  entered, it  must be  in  job
                  format and  is checked to  ensure that  it is a  valid
                  date between tomorrow and one year from today.

    SAVSECDTA     Whether  to use the  SAVSECDTA command  before saving.
                  The   default  is  *NO.    SAVSECDTA  saves  the  user
                  profiles and  authorizations that  are normally  saved
                  by  the   SAVSYS  command.     The  file   created  is
                  QFILEUPR.    It cannot  be restored  by  the RSTALLCHG
                  command.  The file must  be restored by the  RSTUSRPRF
                  command.

    SAVCFG        Whether  to  use  the SAVCFG  command  before  saving.
                  The  default is  *NO.  The  configuration is  saved to
                  the file  QFILEIOC which  can be  used by  the  RSTCFG
                  command to restore the configuration.

    OBJJRN        Whether  journaled  files   should  be  saved.     The
                  default is  *NO.  If  you are not  journaling, you may
                  want  to specify *YES to  ensure that if journaling is
                  started as a  debugging or problem  determination aid,
                  that you continue to save the full file.

    REFDATE       The  reference date  to  use for  saving the  changes.
                  The  default is *NONSYS  which means  save any changes
                  from the last time a SAVLIB LIB(*NONSYS) was done.

                  *ALLUSR, *SAVSTG,  *SAVLIB  or a  specific  date  (use
                  job format) may be entered.

                  When  INCLIB is  not  *ALL, a  special  value such  as
                  *ALLUSR  only determines  the reference  date/time and
                  does  not  control  which  libraries  are  saved  (the
                  libraries to  be saved  are determined  by the  INCLIB
                  parameter).

                  The  special values *ALLUSR,  *NONSYS, or  *SAVSTG may
                  only  be  used  if  you  have  done  the corresponding
                  SAVLIB command.

                  A value  of *ALLUSR has  the same  definition as  that
                  used  by  the  system  SAVLIB  LIB(*ALLUSR)  function.
                  See  the help text for SAVLIB.   This bypasses certain
                  # libraries  and  all Q  libraries except  those  that
                  are specifically  described in  the help text  such as
                  QGPL.

                  If   the  REFDATE   value  is  not   *ALLUSR,  certain
                  libraries are  bypassed  based on  the  definition  of
                  the  SAVLIB  LIB(*NONSYS)  function.    This  bypasses
                  libraries such as QSYS, QRPLOBJ, and QSPL.

                  When  *SAVLIB  is specified,  any  new libraries  that
                  have  not been  previously saved  by a  SAVLIB command
                  cannot be saved by SAVALLCHG (an error is noted).

    REFTIME       The  reference  time.    The  default  is  *NONE.    A
                  specific  time may also  be specified.   If  a special
                  value  is entered for REFDATE,  REFTIME(*NONE) must be
                  specified.

    ENDOPT        Whether  to  rewind  the  tape  at  the  end  of   the
                  command.  The  default is *REWIND.   *LEAVE or *UNLOAD
                  can  be specified.   The option  you specify  does not
                  take  affect  until  the  last  SAVCHGOBJ  command  is
                  issued.   Only  300 libraries  may be  specified on  a
                  single  SAVCHGOBJ  command  so  it may  take  multiple
                  commands  to save the entire system.   For all but the
                  last SAVCHGOBJ  command, ENDOPT(*LEAVE) is  specified.

    UPDHST        Whether   to    update   the    Save/Restore   history
                  information.    *YES  is  the  default  to  update the
                  information.

                  *NO may be  specified to  not update the  information.

    CLEAR         Whether to  clear the  files on  the volume  beginning
                  at  the  sequence  number  described.    *ALL  is  the
                  default to  clear all  files.   Expiration dates  will
                  not be considered.

                  *NONE may be  specified to check the  expiration dates
                  of any existing files on the media.

                  *AFTER may  be specified to clear all  files after the
                  first  volume.   An inquiry  message occurs  if active
                  files  exist  on  the  first  volume.     For  a  more
                  complete definition, see the SAVLIB command.

                  *REPLACE  may  be specified  to  clear  all files  the
                  same  as *ALL.   For  a more complete  definition, see
                  the SAVLIB command.

    SAVACT        Whether to do  a 'save  while active'  function.   The
                  default is  *NO.  *LIB,  *SYNCLIB, and *SYSDFN  may be
                  specified.     These  are   the  same   values  as  on
                  SAVCHGOBJ.

    SAVACTWAIT    A 3 part parameter that  is the same as on  SAVCHGOBJ.
                  The first  part is the  amount of time  to wait for  a
                  lock  to be placed  on an object.   A value  between 0
                  and 99999 may be specified or *NOMAX.

                  The  second part  is for  the amount  of time  to wait
                  for  pending   record  changes.      The  default   is
                  *LOCKWAIT.    A  value  between  0 and  99999  may  be
                  specified, or *NOMAX, or *NOCMTBDY.

                  The  third part is for the amount  of time to wait for
                  transactions  with   other  pending   changes.     The
                  default is  *LOCKWAIT.   A value  between 0  and 99999
                  may be specified or *NOMAX.

    SAVACTMSGQ    The  save active  message queue.   The  qualified name
                  of a message queue to  send messages to.  The  default
                  is *NONE.   The library  qualifier defaults  to *LIBL.
                  See the discussion of this parameter on SAVCHGOBJ.

    ACCPTH        Whether to  save access paths or not.   The default is
                  *SYSVAL  which uses  the contents of  the system value
                  QSAVACCPTH (system default causes *YES).

                  *YES may  be specified to  save access  paths.  A  *NO
                  entry does not save the access paths.

    QDTA          Whether to save  data queue data or not.   The default
                  is *NONE meaning no data queue data will be saved.

                  *DTAQ  may be  specified to  save the data  queues and
                  their data.   An  object will  exist in  the save  for
                  each data queue.

    SAVFDTA       Whether to  save the  SAVF object  data.  The  default
                  is  *YES.    An  entry  of  *NO  will cause  the  SAVF
                  objects to be saved without the save file data.

    DTACPR        Whether to use data compress.   The values are  passed
                  thru  to   the  SAVLIB  command.     For   a  complete
                  understanding  of   the  parameter,  see   the  SAVLIB
                  command.

                  The default is *YES to compress the data.

                  *NO   may  be  specified  so  the  data  will  not  be
                  compressed.

                  *LOW may be specified to compress to a low degree.

                  *MEDIUM may  be  specified  to compress  to  a  medium
                  degree.

                  *HIGH may  be specified to compress to  a high degree.

    COMPACT       Whether to use device compaction.

                  *DEV  is the  default to  use device compaction  if it
                  exists.   See  the discussion  of the  same  parameter
                  for SAVOBJ  for how how  it works in  conjunction with
                  DTACPR.

                  *NO may be specified to avoid device compaction.

    BGNLIB        Beginning  library  to  start  at.    The  default  is
                  *FIRST.  This  is designed as  a recovery function  to
                  allow  a   restart   if  the   SAVALLCHG  command   is
                  interrupted.   The  value entered  is used  to compare
                  against  each  library name  on  the system.    If the
                  library name is  less than the  value, the library  is
                  ignored  and will  appear in  the SAVALLCHG  output as
                  bypassed.

                  Specifying  a beginning library may also  be used as a
                  testing function.

    OMITOBJ       Whether to omit  objects from the  save.  By  default,
                  no objects are omitted.

                  A list  of 100  objects may be  entered.   The default
                  library  value  is *LIBL  and default  object  type is
                  *ALL.

    CHKSAVRST     A *YES/*NO option  for should the  TAA Tool  CHKSAVRST
                  command be run.   The default is *YES.   The CHKSAVRST
                  command  will produce a  spooled file  of all  the S/R
                  messages  which have  occurred during  the job.   When
                  the SAVALLCHG command  begins and  ends, a message  is
                  sent to  the job log  with the CPF9898 message.   This
                  will  be picked up by the  CHKSAVRST command to assist
                  you  in  determining  which  messages  belong  to  the
                  SAVALLCHG command.

    ERRORSONLY    A  *YES/*NO option  for should  the CHKSAVRST  command
                  ERRORSONLY  option  be  used.   *YES  is  the default.
                  The default is designed to  further 'net out' the  job
                  log.   The printed listing  will essentially  take the
                  library  completion message  information  and  print a
                  summary.   If any  objects were not  saved, the detail
                  message  will  appear in  the  job  log  if  the  *YES
                  option   is  taken.      The  entry   is  ignored   if
                  CHKSAVRST(*NO) is specified.

    OUTPUT        Whether   a  list  of  information   about  the  saved
                  objects should  be  output  to  a  print  file  or  an
                  output file.   This applies to the  SAVSECDTA, SAVCFG,
                  and SAVCHGOBJ  functions.  The default  is *NONE.  See
                  also  the   INFTYPE   parameter  for   the   SAVCHGOBJ
                  function.

                  *PRINT may  be specified to  output to a  spooled file
                  named  QPSAVOBJ.   A  separate  file  is produced  for
                  SAVSECDTA,  SAVCFG,  and  each time  SAVCHGOBJ  is run
                  (up to 300 libraries per SAVCHGOBJ).

                  *OUTFILE  may be  specified  to  output  to  the  file
                  named in the OUTFILE parameter.

    OUTFILE       The  name  of  the  file  to be  used  for  output  if
                  OUTPUT(*OUTFILE)  is specified.   This applies  to the
                  SAVSECDTA,  SAVCFG,  and  SAVCHGOBJ  functions.    The
                  model  file used  is QASAVOBJ  in QSYS  with a  format
                  name of QSRSAV.

                  The file  will be created if it  does not exist in the
                  named library.   The qualified  library name  defaults
                  to *LIBL,  but requires that  the file exist  with the
                  same  format  as   QASAVOBJ.    *CURLIB  may  also  be
                  specified.

    OUTMBR        A  2  part  parameter that  specifies  the  member and
                  whether   the    member    is   cleared    first    if
                  OUTPUT(*OUTFILE) is  specified.   This applies  to the
                  SAVSECDTA, SAVCFG, and SAVCHGOBJ functions.

                  The  first part  of the  parameter is the  member name
                  which defaults to  *FIRST.  A  specific member may  be
                  named.

                  The second  part of  the parameter  determines whether
                  the  member   is  cleared  first.     The  default  is
                  *REPLACE meaning the  existing data  is cleared  first
                  before writing data.   The value  is used only  on the
                  first save  function.  The  *ADD function is  used for
                  any additional save functions.

                  *ADD  may be  specified to  add records  to the output
                  member.

    INFTYPE       The   type  of   information   that   is   output   if
                  OUTPUT(*PRINT)   or  OUTPUT(*OUTFILE)   is  specified.
                  This applies only to the SAVCHGOBJ function.

                  *OBJ  is the  default  and outputs  a record  for each
                  object and library saved.

                  *LIB may  be specified  to output  a  record for  each
                  library saved.

                  *MBR  may be  specified to  output a  record for  each
                  library  and  object  saved  along  with  any  members
                  saved for each object.

                  *ERR may  be specified  to output  a record  for  each
                  library and object  that was successfully  saved along
                  with command information.

 SAVALLCHG2       Save all changes to save files       *CMD
 ----------       ------------------------------

 The SAVALLCHG2  command outputs the changed objects to  save files.  If
 the  save file does not exist in the  named library, it is created with
 MAXRCDS(*NOMAX).  You can  create the save file yourself and  specify a
 MAXRCDS  value to restrict  the size  of the  save file.   If  the save
 data  exceeds the  MAXRCDS value,  an exception is  noted and  the next
 library is saved.

 All save files in  the specified library are  cleared at the  beginning
 of  the  command  (unless  BGNLIB  is  used).    This  allows  for  the
 SAVALLSAVF  command to produce a  tape which will be  the equivalent of
 the SAVALLCHG  command  (i.e.   it  will  contain all  of  the  changed
 objects on the system from the last reference date).

 If the SAVALLCHG2 command  is interrupted, recovery can be  achieved by
 specifying  the BGNLIB parameter  to determine  which library  to begin
 at.   This support assumes that  you have already issued the SAVALLCHG2
 command  and  some  libraries  were  saved  and  that  an  interruption
 occurred.   If BGNLIB is specified,  the save files are  not cleared at
 the beginning of the command.

 You  can determine from the  job log, the library  which was last saved
 correctly.

 The default is  to always use  software data compression.   This  helps
 conserve the DASD size requirements.

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

    SAVFLIB       The library  containing the  save files.   The default
                  is  SAVFLIB.    To use  the  default,  you must  first
                  create the SAVFLIB library.

    INCLIB        A list of up to  100 library names (or generic  names)
                  that will be saved.   The default is *ALL  meaning all
                  libraries are considered.

                  This  parameter is helpful  if you have  multiple tape
                  devices  and want to  have multiple SAVALLCHG commands
                  running.

                  When one or  more libraries are specified  for INCLIB,
                  a REFDATE  special value such as *ALLUSR  is used only
                  to  determine a reference  date and time  (it does not
                  control the libraries to be saved).

                  The BYPASS parameter may  be used in conjunction  with
                  INCLIB.    For  example   INCLIB(A*)  and  BYPASS(ABC)
                  would save  all libraries beginning with  A except for
                  ABC.

    BYPASS        The library names (or  generic names) to be  bypassed.
                  *NONE  is  the  default.    If   you  have  some  test
                  libraries  or  a  different  save strategy  for  other
                  libraries  that  you do  not want  saved, enter  up to
                  100 names.

                  Some  libraries are  implicitly  bypassed.    See  the
                  REFDATE parameter.

    LIBTYPE       The  type of  library to  be  saved.   The default  is
                  *ALL for any library type.

                  *PROD  may   be  specified  to  save  only  production
                  libraries (TYPE of PROD).

                  *TEST  may  be  specified  to  save  only   production
                  libraries (TYPE of TEST).

    SAVSECDTA     Whether to  use the  SAVSECDTA command  before saving.
                  The  default   is  *NO.    SAVSECDTA  saves  the  user
                  profiles and  authorizations that  are normally  saved
                  by  the SAVSYS  command.   The  save  file created  is
                  QFILEUPR.    It   will  be  saved  by  the  SAVALLSAVF
                  command.     The  file  cannot   be  restored  by  the
                  RSTALLCHG command.  The  file must be restored  by the
                  RSTUSRPRF command.

    SAVCFG        Whether  to  use  the  SAVCFG command  before  saving.
                  The  default is  *NO.   The configuration is  saved to
                  the file  QFILEIOC which  can be  used  by the  RSTCFG
                  command to restore the configuration.

    OBJJRN        Whether  journaled   files  should  be  saved.     The
                  default  is *NO.  If  you are not  journaling, you may
                  want to specify *YES to  ensure that if journaling  is
                  started as a  debugging or problem  determination aid,
                  that you continue to save the full file.

    REFDATE       The  reference date  to  use for  saving  the changes.
                  The  default is  *NONSYS which means  save any changes
                  from the  last  time a  SAVLIB LIB(*NONSYS)  was  done
                  (See the later discussion).

                  *ALLUSR,  *SAVSTG or  *SAVLIB may  also be  used  or a
                  specific date (use job format).

                  When  INCLIB  is not  *ALL,  a special  value  such as
                  *NONSYS only  determines the  reference date/time  and
                  does  not  control  which  libraries  are  saved  (the
                  libraries  to be  saved are  determined by  the INCLIB
                  parameter).

                  The special values  *ALLUSR, *NONSYS,  or *SAVSTG  may
                  only  be  used  if you  have  done  the  corresponding
                  SAVLIB command.

                  A  value of *ALLUSR  has the  same definition  as that
                  used  by  the  system  SAVLIB  LIB(*ALLUSR)  function.
                  See the help text  for SAVLIB.  This  bypasses certain
                  #  libraries and  all  Q libraries  except those  that
                  are  specifically described in  the help  text such as
                  QGPL.

                  If  the  REFDATE   value  is   not  *ALLUSR,   certain
                  libraries  are bypassed  based  on  the definition  of
                  the  SAVLIB  LIB(*NONSYS)  function.    This  bypasses
                  libraries such as QSYS, QRPLOBJ, and QSPL.

                  If  *SAVLIB  is   specified,  the   library  will   be
                  bypassed if it  has never been  saved.  An  error will
                  appear on the printed output.

    REFTIME       The  reference  time.    The  default  is  *NONE.    A
                  specific  time may also  be specified.   If REFDATE is
                  specified  as  *NONSYS  or  *SAVLIB,  this   value  is
                  ignored.

    UPDHST        Whether   to    update   the    Save/Restore   history
                  information.    *YES  is  the  default  to  update the
                  information.

                  *NO may be  specified to  not update the  information.

    SAVACT        Whether to  do a  'save while  active' function.   The
                  default  is *NO.   *LIB, *SYNCLIB, and  *SYSDFN may be
                  specified.    These   are  the  same   values  as   on
                  SAVCHGOBJ.

    SAVACTWAIT    A 3 part parameter  that is the same as  on SAVCHGOBJ.
                  The  first part is  the amount of  time to wait  for a
                  lock  to be  placed on an  object.  A  value between 0
                  and 99999 may be specified or *NOMAX.

                  The second  part is  for the  amount of  time to  wait
                  for   pending  record   changes.     The  default   is
                  *LOCKWAIT.    A  value  between  0  and  99999 may  be
                  specified, or *NOMAX, or *NOCMTBDY.

                  The third part is for  the amount of time to wait  for
                  transactions  with   other  pending   changes.     The
                  default  is *LOCKWAIT.   A value  between 0  and 99999
                  may be specified or *NOMAX.

    SAVACTMSGQ    The save  active message  queue.   The qualified  name
                  of a message queue  to send messages to.   The default
                  is  *NONE.  The  library qualifier defaults  to *LIBL.
                  See the discussion of this parameter on SAVCHGOBJ.

    ACCPTH        Whether  to save access paths or  not.  The default is
                  *SYSVAL which uses  the contents  of the system  value
                  QSAVACCPTH (system default causes *YES).

                  *YES may  be specified  to save access  paths.   A *NO
                  entry does not save the access paths.

    QDTA          Whether  to save data queue data  or not.  The default
                  is *NONE meaning no data queue data will be saved.

                  *DTAQ may be  specified to  save the  data queues  and
                  their data.   An  object will  exist in  the save  for
                  each data queue.

    SAVFDTA       Whether  to save  the SAVF object  data.   The default
                  is *YES.    An  entry  of  *NO  will  cause  the  SAVF
                  objects to be saved without the save file data.

    DTACPR        Whether to  use data  compress.   The default is  *YES
                  to  help  conserve  DASD  space  requirements.    This
                  differs from the normal SAV command default.

    BGNLIB        Beginning  library  to  start  at.    The  default  is
                  *FIRST.  This  is designed as  a recovery function  to
                  allow  a   restart  if   the  SAVALLCHG2   command  is
                  interrupted.   If a  value is entered,  all save files
                  will not be cleared at  the beginning of the  command.
                  The  value entered  is used  to  compare against  each
                  library  name on the system.   If the  library name is
                  less than the value, the  library is ignored and  will
                  appear in  the  SAVALLCHG 2  output as  bypassed.   If
                  the  value  is  equal or  greater,  the  save file  is
                  cleared.   The library  is tested to  see if it should
                  be bypassed and if not, a save is attempted.

                  Specifying a beginning library  may also be used as  a
                  testing function.

    OMITOBJ       Whether to  omit objects from  the save.   By default,
                  no objects are omitted.

                  A  list of  100 objects may  be entered.   The default
                  library value  is  *LIBL and  default object  type  is
                  *ALL.

    CHKSAVRST     A *YES/*NO  option for  should the TAA  Tool CHKSAVRST
                  be run.   The default is *YES.   The CHKSAVRST command
                  will produce  a  listing  to  the  SAVALLCHG2  spooled
                  file  of all  the  S/R  messages which  have  occurred
                  during  the job.   When the SAVALLCHG2  command begins
                  and  ends, a message  is sent to the  job log with the
                  CPF9898  message.   This  will  be picked  up  by  the
                  CHKSAVRST command  to assist you  in determining which
                  messages belong to the SAVALLCHG2 command.

    ERRORSONLY    A  *YES/*NO option  for  should the  CHKSAVRST command
                  ERRORSONLY option  be  used.   *YES  is  the  default.
                  The default is  designed to further 'net  out' the job
                  log.   The printed  listing will  essentially take the
                  library completion  message  information and  print  a
                  summary.   If any objects  were not saved,  the detail
                  message  will  appear  in  the  job  log if  the  *YES
                  option   is   taken.     The   entry  is   ignored  if
                  CHKSAVRST(*NO) is specified.

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

 The  SAVALLSAVF  command  outputs  all  of  the  saved   files  in  the
 specified  library  to   tape.    It  is  the   companion  command  for
 SAVALLCHG2.  SAVSAVFDTA outputs each save file.

 If  the SAVALLSAVF command is interrupted,  recovery can be achieved by
 specifying the  BGNSAVF  parameter  to  determine which  save  file  to
 begin  at.   This  support assumes  that you  have  already issued  the
 SAVALLSAVF  command  and  some  save  files  were  saved  and  that  an
 interruption occurred.  You can determine  from the job log which  save
 file which was last saved correctly.

 The completion  message and the  QPRINT output  identify how many  save
 files were saved and how many had no data.

        Command parameters
        ------------------

    DEV           This  is the  same  parameter  as on  SAVSAVFDTA.   It
                  supports a list of up to 2 devices.

    SAVFLIB       The  library containing  the save files.   The default
                  is SAVFLIB.   All the  save files  found are saved  if
                  the BGNSAVF parameter is *FIRST.

    VOL           This is  similar to  the same parameter  on SAVCHGOBJ.
                  The  default  of  *MOUNTED  is  the  same  meaning  to
                  ignore the  volume ID  on  the tape.   A  4  character
                  entry may be  made to describe a set of  volumes.  (If
                  you   enter  other  than   *MOUNTED,  it   must  be  4
                  characters).   A two  digit  sequence number  will  be
                  appended  to  the  name  given.     See  the  previous
                  discussion of Volume ID.

                  The special  value *VOLLIST may be  entered to specify
                  that  a list  of Volume IDs  is being  provided in the
                  VOLID parameter.

    VOLID         This is similar to  the same parameter on  SAVSAVFDTA.
                  The  default  of  *MOUNTED  is  the  same  meaning  to
                  ignore  the  volume ID  on the  tape.   A  4 character
                  entry may be  made to  describe a set  of volumes  (If
                  you enter  other than  *MOUNTED, a  4 character  entry
                  must  be made).  A  two digit sequence  number will be
                  appended  to  the  name  given.    See  the   previous
                  discussion of Volume ID.

    SEQNBR        The sequence  number of the  first file.   The default
                  is  1  which  differs  from  the normal  SAV  commands
                  which use a default of *END.

    EXPDATE       The  expiration  date of  the  tape.   The  default is
                  *DAY3 which differs  from the SAVCHGOBJ default.   The
                  special values  *PERM or *DAY1, *DAY2 ...   *DAY60 may
                  be  entered or  a specific date.   If  a specific date
                  is entered, it  must be in job  format and is  checked
                  to ensure  that it  is a  valid date between  tomorrow
                  and one year from today.

    CLEAR         Whether  to  clear  the  files  on  the  media.    The
                  default is *NONE.  *ALL may be specified.

    ENDOPT        Whether  to  rewind  the  tape  at  the  end  of   the
                  command.  The  default is *REWIND.  *LEAVE  or *UNLOAD
                  can  be specified.   The option  you specify  does not
                  take  affect  until  the  last  SAVSAVFDTA  command is
                  issued.

    BGNSAVF       Beginning save  file  to start  at.   The  default  is
                  *FIRST.   This is designed  as a recovery  function to
                  allow   a  restart   if  the  SAVALLSAVF   command  is
                  interrupted.   The value  entered is  used to  compare
                  against each  save file in the  library.  If  the save
                  file  name is less  than the  value, the save  file is
                  ignored and will  appear in the  listing as  bypassed.

 If  you  are  using  this  for  recovery,  you  will  want  to  specify
 VOL(*MOUNTED).

    CHKSAVRST     A  *YES/*NO option for  should the TAA  Tool CHKSAVRST
                  be  run.  The default is  *YES.  The CHKSAVRST command
                  will  produce a  listing  to  QPRINT of  all  the  S/R
                  messages  which have  occurred during  the job.   When
                  the  SAVALLSAVF command begins and  ends, a message is
                  sent to the  job log with the  CPF9898 message.   This
                  will be picked  up by the CHKSAVRST  command to assist
                  you  in  determining  which  messages  belong  to  the
                  SAVALLSAVF command.

    ERRORSONLY    A *YES/*NO  option for  should the  CHKSAVRST  command
                  ERRORSONLY  option be  used.    *YES is  the  default.
                  The default  is designed to further 'net  out' the job
                  log.   The  printed listing will  essentially take the
                  completion message  information and  print a  summary.
                  If  any objects  were  not saved,  the detail  message
                  will  appear  in the  job log  if  the *YES  option is
                  taken.   The  entry is  ignored if  CHKSAVRST(*NO)  is
                  specified.

 Security considerations
 -----------------------

 The  SAVALLCHG  commands  must  be  created  by  a  user  with  *ALLOBJ
 authority  (e.g.   the Security  Officer).  The  CL programs  adopt the
 authority of their  owner while  in execution in  order to  be able  to
 access  all  libraries  and save  all  objects.    The  sub-program  to
 execute  CHKSAVRST  is   done  using  TAASAVBC  which  is  specifically
 created  as USEADPAUT(*NO).   The commands and  initial CL programs are
 created to take  their authorization from the  TAASAVALLC authorization
 list.   A  user must  have *USE  authority to  the  authorization list.
 See the Implementation section.

 Reference date option
 ---------------------

 If  a new library is  created after the SAVLIB  operation, it cannot be
 saved by  SAVCHGOBJ with  REFDATE(*SAVLIB).   It can  be  saved with  a
 specific  date and  time.   For  this  reason,  the SAVALLCHG  commands
 default the  REFDATE value to *ALLUSR  which is the date  and time that
 the last  SAVLIB  *ALLUSR  was performed  (Normally,  only  the  SAVLIB
 command updates  the  library object.   SAVCHGOBJ  does not).   When  a
 special  value is used  for SAVLIB  (such as *NONSYS),  are timestamped
 by the system as saved at the same date and time.

 To  use the default  as it is  intended, you must  be saving the system
 regularly with SAVLIB LIB(*ALLUSR).

 Note that if you rename a library, the create date does not change.

 Another typical  solution  is to  save all  changed  objects since  the
 last  SAVSTG function.    The  special value  *SAVSTG  may be  entered.
 When  SAVSTG is run, the  system updates the QSAVSTG  data area in QSYS
 with  the date  and  time  of  the  save.    When  REFDATE(*SAVSTG)  is
 specified, this date and time is used.

 Tailoring your save strategy
 ----------------------------

 Not all  of the  SAVCHGOBJ parameters  are supported  on the  SAVALLCHG
 commands.

 The  SAVFDTA option exists  on both  SAVALLCHG and SAVALLCHG2  to allow
 you to avoid  the saving  of save  file object  data.   The default  is
 *YES which saves  the object and save  file data.  Specifying  *NO will
 only save the SAVF object (not the data).

 You  may  want to  write  a  standard routine  for  daily  saves.   For
 example, this could include:

    - SAVALLCHG (may include some bypassed libraries)
    - Full SAVLIB of certain critical libraries
    - SAVDLO

 You  may  have  some  libraries  that you  do  not  want  saved  by the
 commands.  This may be  because you have an alternate means  of backup,
 the libraries  are not worth  saving or you  want to use your  own save
 strategy for the library.

 If  you use SAVALLCHG2  and bypass some  libraries so that  you can use
 your own save to  a save file in the  same library, you should  specify
 your own function after the SAVALLCHG2 command.  For example:

             SAVALLCHG2     SAVFLIB(BACKUP) BYPASS(xxx)
             SAVCHGOBJ      ...   SAVF(BACKUP/xxx)
             SAVLIB         ...   SAVF(BACKUP/yyy)
             SAVALLSAVF     ...   SAVFLIB(BACKUP)

 This sequence is  needed because the SAVALLCHG2 command  will clear all
 of the save files in the specified library.

 If  you intend  to use  the companion  restore command  (RSTALLCHG) you
 should consider starting a  new media volume  for either the  SAVALLCHG
 or SAVALLSAVF  commands.   The  defaults assume  this.   The  RSTALLCHG
 command can be used with the media produced by either command.

 If you  have multiple tape  drives and wish  to use the  overlap rewind
 function,  you can  determine which  drive was  last used  by accessing
 the device name  from the message data  in the completion message  (See
 the  example   in  the  Backup   and  Recovery  Programmers   Guide  on
 Save/Restore  which describes  this).  Assuming  you do  this, you will
 want to use the SAVALLCHG command  as the last save function since  the
 completion message will not pass back the last device used.

 See  the earlier  comments about  Expiration  date and  Volume ID  that
 could be used to assist your save strategy.

 The  SAVALLCHG commands will save  everything they can.   At the end of
 the command, if some  object could not be  saved, CPF9898 will be  sent
 as an escape message.  You may need to monitor for this message.

 Restoring using a SAVALLCHG approach
 ------------------------------------

 For the  typical  day to  day needs  to  restore one  or more  objects,
 there  is little  difference  between  a SAVOBJ/SAVLIB  approach  and a
 SAVCHGOBJ  approach.   You  must find  the proper  media and  issue the
 restore command for the objects required.

 Since  SAVCHGOBJ only  saves  the  changed  objects, you  may  need  to
 determine where  the most  current backup is  for the  required object.
 If  the  object  is still  on  the system,  the  last  save information
 (media volume ID, date and time) can be displayed with DSPOBJD.

 In a disaster recovery situation, you will normally:

      - Restore from the last SAVLIB *NONSYS (or equivalent)
      - Restore from the last SAVCHGOBJ media

 When restoring  from  the  last  SAVCHGOBJ media,  you  should  specify
 ALWOBJDIF(*ALL) to  allow the restore of  objects where there  has been
 an  owner change  or a data  base file  or member has  been re-created.
 If this  occurs, there  will be  restore messages  describing what  the
 system has  done  to the  existing objects.   Note  that the  RSTALLCHG
 command defaults to ALWOBJDIF(*ALL).

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

 The following TAA Tools must be on your system.

       ADDDAT        Add date
       CHKDAT        Check date
       CHKTIM        Check time
       CHKIBMLIB     Check IBM library
       CHKSAVRST     Check save/restore
       EDTVAR        Edit variable
       EXTLST        Extract list
       RTVALLUSR     Retrieve *ALLUSR
       RTVNONSYS     Retrieve Non-System
       SNDESCMSG     Send escape message
       SNDESCINF     Send escape information

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

 The  tool  is ready  to  use, but  a  user must  be  authorized to  the
 TAASAVALLC  authorization list.   To authorize  a user,  use EDTAUTL or
 specify:

       ADDAUTLE     AUTL(TAASAVALLC) USER(xxx) AUT(*USE)

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

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

    SAVALLCHG     *CMD                      TAASAVC        QATTCMD
    SAVALLCHG2    *CMD                      TAASAVC2       QATTCMD
    SAVALLSAVF    *CMD                      TAASAVC3       QATTCMD
    SAVALLP       *FILE         PF          TAASAVCP       QATTDDS
    TAASAVCQ      *FILE         PF          TAASAVCQ       QATTDDS
    TAASAVCC      *PGM          CLP         TAASAVCC       QATTCL
    TAASAVCC2     *PGM          CLP         TAASAVCC2      QATTCL
    TAASAVCC3     *PGM          CLP         TAASAVCC3      QATTCL
    TAASAVCC4     *PGM          CLP         TAASAVCC4      QATTCL
    TAASAVCC8     *PGM          CLP         TAASAVCC8      QATTCL
    TAASAVCC9     *PGM          CLP         TAASAVCC9      QATTCL
    TAASAVCR      *PGM          RPG         TAASAVCR       QATTRPG
    TAASAVCR2     *PGM          RPG         TAASAVCR2      QATTRPG

 Structure
 ---------

    SAVALLCHG
      TAASAVCC    CL pgm
        TAASAVCC9   CL pgm
        TAASAVCR    RPG pgm

    SAVALLCHG2
      TAASAVCC2   CL pgm
        TAASAVCC9   CL pgm
        TAASAVCC4   CL pgm
        TAASAVCR    RPG pgm

    SAVALLSAVF
      TAASAVCC3   CL pgm
        TAASAVCC8   CL pgm
        TAASAVCR2   RPG pgm

Added to TAA Productivity Tools April 1, 1995


Home Page

Last modified on March 10, 2014 © 1995, 2014 - TAA Tools, Inc.