This topic describes how to implement package backout.
- Determine the TYPE (for example, ARCHPACK) to hold the package
high-level architecture members. If required allocate the appropriate
data sets.
- Update the project definition for this type to have the parameter
ISAPACK=Y on the FLMTYPE macro. When an architecture member using
this type is promoted, the package backout is invoked.
- Determine the types of files (such as Object, load libraries)
that are to be backed up during the promotion of a package high-level
architecture member. The Project definition for these file TYPES should
be updated to specify the BACKUP=Y on the FLMTYPE macro.
- Determine at which groups (for example, production) the package
backout is to be implemented, and the group that the members will
be backed up to.
In the Project definition for these groups, use
the BKGRP=group_name parameter on the FLMGROUP
macro to specify the group to which the members will be backed up.
These new backup groups must be added to the project definition, so
add an FLMGROUP macro for them. Make sure the group is key. Use the
group that is being backed up as the PROMOTE= group.
For example,
to back up RELEASE into a group called BACKGRP:
BACKGRP FLMGROUP AC=(P),KEY=Y,PROMOTE=RELEASE
RELEASE FLMGROUP AC=(P),KEY=Y,BKGRP=BACKGRP
- Determine if member-level restore is to be implemented to allow
individual members to be restored instead of an entire package. If
it is required, update the FLMGROUP macro to have BKMBRLVL=Y.
- Create the backup libraries for the TYPES you have specified with
BACKUP=Y for the groups for which package backout has been specified.
The data set names will have the format project_name.group_name.ds_type,
where group_name is the value specified
on the BKGRP= parameter for each group. Allocate the backup libraries
with the same attributes as the libraries that are being backed up.
- Determine the File type to contain the package backout details.
Add the parameter PACKFILE=Y to the Project definition for this type.
The PACKFILE flag must only be specified on one FLMTYPE in the project
definition, for example PACKFILE FLMTYPE PACKFILE=Y
Create
a library of this type for the groups for which package backout has
been specified. The data set names will have the format project_name.group_name.ds_type,
where group_name is the value specified
on the BKGRP= parameter for each group and ds_type is
the type on the FLMTYPE macro with PACKFILE=Y. Allocate this data
set with LRECL=130 and RECFM=FB.
- Determine if package reuse is to be used. If so set 'REUSEDAY=nnnn'
on the FLMTYPE macro that has the PACKFILE=Y specified.
- Reassemble and link the project definitions.
Figure 1 shows a sample project definition
that allows for package backout.
Figure 1. Sample project definitionARCHDEF FLMTYPE
SOURCE FLMTYPE EXTEND=MACROS
MACROS FLMTYPE
LIST FLMTYPE
ARCHPACK FLMTYPE ISAPACK=Y
OBJ FLMTYPE BACKUP=Y
LMAP FLMTYPE
LOAD FLMTYPE BACKUP=Y
PACKFILE FLMTYPE PACKFILE=Y
⋮
DEV1 FLMGROUP AC=(P,A,LONGNAME),KEY=Y,PROMOTE=TEST
DEV2 FLMGROUP AC=(P,A),KEY=Y,PROMOTE=TEST
TEST FLMGROUP AC=(P),KEY=Y,PROMOTE=RELEASE
BACKGRP FLMGROUP AC=(P),KEY=Y,PROMOTE=RELEASE
RELEASE FLMGROUP AC=(P),KEY=Y,BKGRP=BACKGRP