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.

    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  *DEV.
                  *YES or *NO may also be specified.

    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.

    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

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