HP3000-L Archives

February 2003, Week 1

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Michael Berkowitz <[log in to unmask]>
Reply To:
Michael Berkowitz <[log in to unmask]>
Date:
Wed, 5 Feb 2003 08:20:08 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (47 lines)
Dennis Hassell writes


Like someone else said, with Adager et al, you can do it easily.

Yes, the Automatic Master would be set up with all the detail key
entries. This by far the easiest but not infallible - IN ALL CASES, DO A
BACKUP (DBSTORE or equiv.)

With Suprtool, do a complete unload of all Details and Manual Masters to
flat files, then delete the database and rebuild it using the new schema
with the additional Automatic Master and path. Then, use Suprtool to
reload the database. This all assumes no changes in the schema other
than adding a key designation to an existing item and adding the
corresponding Automatic Master.

This general method, like with Adager, etc. can do lots of other schema
changes as long as the sets being loaded correspond byte by byte to the
Detail or Manual Master record being reloaded, including any changes.
The advantage of Adager etc. is that they will also manage the byte by
byte changes and you won't have to deal with all the flat files.

Without one of those tools, you will need to do a DBUNLOAD of the entire
database to tape, delete the database, create the database with the new
schema AS THE LAST DATASET, and load the database with DBLOAD. The new
Automatic Master MUST be the last Dataset to be defined, since DBLOAD
depends on dataset number, not name. The DBLOAD might report an error
when it finds the new Automatic Master, but since it doesn't
specifically load an A-Master, it might not care. See the reference
manual to see what changes are supported. Some changes cannot be done
this way and programmatic (i.e. Suprtool or COBOL/C/Pascal/RPG/Fortran)
must be used for the unloads and the loads.
--------------------------------------------------------------
Sorry, but this won't work.  Yes you must add any new data sets after the last one for DBUNLOAD and DBLOAD to work because they use set numbers, not names.  However, you cannot make your new automatic master the new last set.  DBSCHEMA requires master data sets (manual or automatic) be before the detail sets they chain to.  This means your new automatic master must be defined in the schema before the detail getting the new index.  This will cause DBLOAD to have problems.  Therefore you must use either a data transformation tool (Adager, DBGeneral, Flexibase) to do the change, or if you have them, use DICTIONARY/3000 products DICTDBU and DICTDBL which unload by name, or Suprtool to unload each set into a flat file.  There is an enhancement on the SIB for this:

SIB ID:  98I08
DBSCHEMA:  Allow Masters to be declared after Details:
Lab Effort:  MEDIUM

But who knows.

Mike Berkowitz
Guess? Inc.

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2