The purpose of migrating from test to production is to safeguard production. When dialogs and programs are correctly executing on test then they are ready to be migrated. At no time is it permissable to correct source code directly on production.
The automated migrator has a Checkout Simulation
Report. The report covers one or more dialogs that a programmer
is interested in. It lists which dialog components are different
on Test and Production. which dialogs share the same components
and, optionally, the Test and Production contents of components
that are different on Test and Production.
To get this report, sign on to the IDMS Test system and
enter MIGRATE at the ENTER NEXT TASK CODE prompt.
Pick Option 1 on the main menu, then type the desired
item names on the next screen. The third screen provides batch
job options and submits a job that submits another job that produces
the report. Help screens are provided.
Note: Please provide the DBA group with any suggestions
you may have for improving the dialogs or reports.
Entities to be migrated should conform to the naming standards
documented in JCL and Coding Guide, Naming Database Entities.
The entity's version number on test should be one. The migrated
entity on production will have a version number of one. Any existing
entities not conforming to this standard must have their production
name and version number identified to the DBA group. The procedure
for doing this is documented in this section along with all migration
procedures.
When an entity is moved to production, its previous version will
be backed up to a Librarian master file - DBA.LIBRPROD.BACKIDMS.Five
versions of each entity will be archived on this file they can
be read but are protected from update. The current entity will
be stored on the production database as version one with protection
and on test as version one with no protection.
Therefore, when an entity that conforms to the the standard needs to be modified,
it should be copied from the production database to the test database. First
be sure the entity exists on the test dictionary (use UNMA1000 to create it
if necessary). For work records (not owned by a map), processes, tables, and
modules, use TSO/ISPF option DB. 1.2 to replace the test entity with the production
one. The information required in this screen is the name of the production database
dictionary where the entity resides, the entity name, the entity type, and password.
The password is a three character field that is created by the programmer. This
password will be used to protect the entity from being destroyed on test by
another person's invocation of DB. 1.2. The programmer should record this password
in case the entity needs to be recopied for some reason. The purpose of this
procedure is to provide a "check out" facility for IDMS entities.
For entities that currently exist on the production database and
therefore do not follow the new standard, obtaining a working
copy on test should be done the way it has until now: make a new
copy of the entity on test from the protected one on test. Name
this new copy according to the new standards, including version
number, and then the migration back to production will follow
the new procedure. The entity backed up on Librarian will have
the new name as member name but the old name internally, this
providing the needed cross reference.
The following documentation describes how to have the entity migrated
from test back to production.
It is essential that migration information be supplied to the
DBA group as soon as possible so that it has time to prepare for
the schema change and migration. Some of the tasks that must be
done by the group are shown below. Many must be prepared for in
advance of the actual day the schema is changed.
- Migrate the schema records to production.
- Prepare the schema syntax for the schema change.
- Prepare and run the program to restructure the database record
occurrences when fields are added or deleted, or sets are added.
- Calculate the page sizes and amount of space to be allocated
for the new database areas.
- Create and initialize the new database areas.
- Modify the schema.
- Regenerate affected subschemas.
- Migrate entities from the test system.
- Run the ADSOBCOM utility to create new dialogs.
- Run a SYSGEN to define programs, print classes, security codes,
etc. .
All items to be migrated are to be inserted into the appropriate
members of the online library, DBA.MIGRATE.LISTS.The members must
be named according to the conventions shown below and must be
created and changed by the programmer. Only those items in the
members will be migrated; written lists on paper are unacceptable.
The programmer fills out a migration request form and attaches
a printout of all the members from the PDS. Maps, tables and subschemas
have load modules and will affect their dialog in use. If the
programmer does not want to affect ongoing production dialogs,
put these entries in the 'after hour/coordinated' column. As of
June, 1996, all migrations must have the USS (University Support
Services) stamp. Obtain the stamp from the USS team. The programmer
then puts the request form in the migration request box.
A DB team member will move entities to production within a maximum
of 24 hours. If there are after hours migrations the DB team member
will contact the programmer to coordinate when to do the migrate.
The DB team member will notify the programmer when the migration
is complete.
Depending on what was migrated the programmer needs to generate
and punch the items on production. The following chart will explain
when to generate and punch. The items need to be generated and
punched in the order shown on the chart.
Programmers are given the required security code for generating dialogs and maps on production. This security is to be used only for generating the programs. Any other uses could lead to failures in production programs without backups.
| Entity Type | Map (unless map add/mod) |
Dialog (unless map add/mod) | Batch |
|---|
| Records: |
|
|
|
| Map | generate & punch | generate
& punch |
|
| Work |
| generate & punch | recompile |
|
|
|
|
| Tables: |
|
|
|
| tightly linked | generate & punch |
generate & punch |
|
| other |
|
|
|
|
|
|
|
| Modules |
| generate & punch |
|
|
|
|
|
| Maps | generate & punch | generate
& punch |
|
|
|
|
|
| Map Help | generate & punch then |
generate & punch |
|
| punch maphelp |
|
|
|
|
|
|
| Subschema |
|
| recompile |
|
|
|
|
| Dialogs |
| generate & punch |
|
Messages, comments and programs that are migrated do not need
to be generated or punched by the programmer.
The programmer should create any required members in DBA. MIGRATE.LISTS
by copying template members whose project code ('aaa' below) is
'DBA'. Then the programmer should fill each column to specify
the items that are to be migrated. After migration, the programmer
then should delete his/her own members.
-
- Member Name Format: aaabbbcx (e. g. SARMODA, PENTABR) where:
-
- aaa = Unique identifier (e. g., project code, programmer's initials)
- bbb = CMT for Comments
- DLG for Dialog
- MAP for Map
- MOD for Module or Process or Element Help Module
- MPH for Map Help Modules
- MSG for Messages
- PGM for Programs (batch and DC)
- PRT for Printers
- REC for Records
- SUB for Subschemas
- TAB for Tables
- TRA for Transactions
- TRM for Terminals
- c = A for Additions
- D for Deletions
- R for Replacements or Changes
- optional x = Any additional character if needed.
Please note that additions, deletions, and replacements must be
in separate members. An entity that has been renamed should be
handled as a replacement.
Information required for each member is explained below.
- aaaCMTR - Replace Comments
- Program Name - Enter name of dialog or program
- aaaDLGA - Add Dialogs
-
- Dialog Name - Enter name of dialog t
-
- Subschema - Enter the subschema used
-
- Schema - Enter the schema name or 'N'
-
- SQL - 'Y' if SQL, 'N' or space if no
-
- Mainline - Enter 'Y' or 'N'.
-
- Task Code - Enter task code for main
-
- Description - 28-character description
- aaaDLGD - Delete Dialogs
-
- Dialog Name - Enter name of dialog to be added
- aaaDLGR - Replace or Change Dialogs
-
- Dialog Name - Enter name of dialog t
-
- Subschema - Enter name of new subsch
-
- Schema - Enter the schema name or 'N
-
- SQL - Enter 'Y' if SQL, 'N' or space
-
- Mainline - Enter 'Y', 'N', or 'NC' f
-
- Task Code - Enter task code for main
-
- Description - 28-character descripti
- aaaMAPA - Add Maps
-
- Map Name - Enter name of map to be a
-
- Panel Name - Enter panel name.
- aaaMAPD - Delete Maps
-
- Map Name - Enter name of map to be delted
-
- Panel Name - Enter panel name.
- aaaMAPR - Replace Maps
-
- Map Name - Enter name of map to be replaced
-
- Panel Name - Enter panel name.
- aaaMODA - Add Modules and Processes and Element Help Modules
(put Map Help Modules in aaaMPHA)
-
- Module Name - Enter name of module to be added
- aaaMODD - Delete Modules and Processes and Element Help Modules
(put Map Help Modules in aaaMPHD)
-
- Module Name - Enter name of module to be deleted
-
- Version - Enter version number if not 1.
- aaaMODR - Replace Modules and Processes and Element Help Modules
(put Map Help Modules in aaaMPHR)
-
- Module Name - Enter name of module on test.
-
- Old Name - Enter name of module on production only if it has
been renamed.
-
- Old Version - Enter the version number on production if it
is not 1. The new version will be 1.
- aaaMPHA - Add Map Help Modules
-
- Module Name - Enter name of module to be added.
- aaaMPHD - Delete Map Help Modules
-
- Module Name - Enter name of module to be deleted.
- aaaMPHR - Replace Map Help Modules
-
- Module Name - Enter name of module to be replaced.
- aaaMSGA - Add Messages
-
- Message Name - Enter name of message to be added.
- aaaMSGD - Delete Messages
-
- Message Name - Enter name of message to be deleted
- aaaMSGR - Replace Messages
-
- Message Name - Enter name of message to be replaced.
- aaaPGMA - Add Programs
-
- Program Name - Enter name of program to be added.
-
- Subschema - Enter subschema used by program or 'NONE' or spaces
if none used.
-
- Schema - Enter production schema name or 'NONE' or spaces
if none used.
-
- Language - Enter language in which program is written - 'COBOL',
'PLI', or 'ASSEM'.
-
- Batch/DC - Enter 'BATCH' or 'DC'.
-
- Security Code - Enter a security code number of 0 or 011-199.
-
- Description - 40-character description for DC programs with
security code > 0.
Note that the DBA Group will define the programs to the production
system, but the programmer is responsible for migrating the programs
to production.
- aaaPGMD - Delete Programs
-
- Program Name - Enter name of program to be deleted.
- aaaPGMR - Replace Programs
-
- Program Name - Enter name of program to be renamed.
-
- Subschema - Enter name of new subschema used by program or
'NC'.
-
- Schema - Enter production schema name or 'NC'.
-
- Language - Enter name of new language used by program or 'NC'.
-
- Batch/DC - Enter 'BATCH', 'DC', or 'NC'.
-
- Security Code - Enter a security code number of 0 or 011-199,
or 'NC'.
-
- Description - 40-character description for DC programs with
security code > 0.
- aaaPRTA - Add Printers
-
- Printer Name - Enter name of printer
-
- Printer Type - Enter type of printer
-
- Printer Class - Enter 1 or more prin
-
- with this printer. Separate class
- aaaPRTD - Delete Printers
-
- Printer Name - Enter name of printer
- aaaPRTR - Replace or Change Printers
-
- Printer Name - Enter name of printer
-
- Printer Type - Enter type of printer
-
- Printer Class - Enter 1 or more prin
-
- associated with this printer, or '
- aaaRECA - Add Records
-
- Record Name - Enter name of record to
-
- Map Transaction - Enter an 'X' if the
-
- LR Subschema - Enter an 'X' if this record subschema.
- aaaRECD - Delete Record
-
- Record Name - Enter name of record to
-
- Version - Enter version of record.
-
- Map Record - Enter an 'X' if this re
-
- LR Subschema - Enter an 'X' if this record subschema.
- aaaRECR - Replace Records
-
- Record Name - Enter name of record of
-
- Old Name - Enter name of record on p renamed.
-
- Old Version - Enter the version number The new version will
be 1.
-
- Map Record - Enter an 'X' if this re
-
- LR Subschema - Enter an 'X' if this record subschema.
- aaaSUBA - Add Subschemas
-
- Subschema Name - Enter name of subsc
-
- Schema - Enter name of schema on test
- aaaSUBD - Delete Subschemas
-
- Subschema Name - Enter name of subsc
-
- Prod Schema - Enter name of schema o
- aaaSUBR - Replace Subschemas
-
- Subschema Name - Enter name of subschema
-
- Test Schema - Enter name of schema o
-
- Prod Schema - Enter name of schema o
- aaaTABA - Add Tables
-
- Table Name - Enter name of table to be added.
- aaaTABD - Delete Tables
-
- Table Name - Enter name of table to
-
- Version - Enter version number if no
- aaaTABR - Replace Tables
-
- Table Name - Enter name of table on
-
- Old Name - Enter name of table on pr
-
- Old Version - Enter the version numb The new version will
be 1.
- aaaTRAA - Add Transactions
-
- Transaction Name - Enter name of tra
-
- Map Transaction - Enter an 'X' if the
-
- LR Subschema - Enter an 'X' if this record subschema.
- aaaTRAD - Delete Transaction
-
- Transaction Name - Enter name of tra
-
- Version - Enter version of transacti
-
- Map Transaction - Enter an 'X' if the
-
- LR Subschema - Enter an 'X' if this record subschema.
- aaaTRAR - Replace Transactions
-
- Transaction Name - Enter name of tra
- Old
Version - Enter the version numb
-
- The new version will be 1.
-
- Map Transaction - Enter an 'X' if th
-
- LR Subschema - Enter an 'X' if this record subschema.
- aaaTRMA - Add Terminals
-
- Terminal Name - Enter name of termin
-
- Terminal Type - Enter terminal type
- aaaTRMD - Delete Terminals
-
- Terminal Name - Enter name of termin
- aaaTRMR - Replace or Change Terminals
-
- Terminal Name - Enter name of termin
-
- Terminal Type - Enter new terminal t