When you perform a build that causes a reorganization of the database for your application, the COMSTP associated library programs are recompiled. Any impacted Reports need to be recompiled, along with your NOF, USER, and GLI programs if any <<Ispec>> classes formats have changed.
Retaining the Data in your Agile Business Suite Database
Reorganization enables you to change an existing application without destroying the data in your database. However, not all types of change are allowed.
For example, you cannot change a numeric attribute containing decimal places into an alphanumeric attribute. The types of changes allowed follow the standard DMS II rules for reorganization. Refer to the DMS II Data and Structure Definition Language Reference Manual for more information.
What Causes a Reorganization
The following actions cause a reorganization:
If you add a new attribute, or change an existing attribute, reorganization of data within the database is performed. You can avoid reorganization of this type by creating a database filler. Refer to Avoiding Reorganization for more information.
If you add a new Profile or change an existing Profile, only the Profile structure itself is created or reorganized.
If only a new <<Ispec>> class is added, the DASDL compile occurs and the new structure is initialized.
If only <<Ispec>> classes or Profiles are deleted, the DASDL compile occurs and the old structures are deleted.
If a pack change is made, the DASDL compile occurs and the data is transferred to the new location.
If a population change is made, the size of the change determines whether or not a reorganization occurs.
If only the DMS II software mark level has changed, the DASDL compile occurs and the DMS II files and programs are updated.
If the blocksize is changed, either manually or by changing the setting of the Optimize Blocksize to VSS-2 property, this might cause the database to reorganize.
When the National Item Default Value property is set from True to False or from False to True, all your <<Ispec>> class, methods, attributes and Report methods is marked for reedit, and the database is reorganized. A message is displayed showing the number of lines marked.
Note: If you change an <<Ispec>> class that is used in external Automatic Entries, you must also change and build any associated database (with the Retain Existing Database check box checked).
Avoiding Reorganization
If you add a new attribute to an <<Ispec>> class without database filler defined, reorganization of your database is performed.
To avoid this, you can reserve space in the database by using a database filler, so that reorganization need not occur. As you add new attributes, you use space in the database filler. Refer to Reserving Database Filler Space for more information.
Reorganization still occurs with a database filler:
If you have defined a database filler for the <<Ispec>> class and you add more attributes than will fit in the remaining filler, a warning message is displayed. The new attributes are added in the usual way, but the database filler is not reduced. This increases the physical record length, causing a reorganization.
If you have defined a database filler for the <<Ispec>> class, deleting an attribute from any part of the record (including the database filler), or changing an attribute from Direction None, Persistent or Direction InOut, persistence to Direction In, No Persistence or Direction Out, No Persistence, causes a reorganization.
If you have defined a database filler for the <<Ispec>> class and you then set Revert to standard layout at next generate configuration property for the <<Ispec>> class or Event, the attributes are included in the <<Ispec>> class in the usual way (in the standard Agile Business Suite format of all alphanumeric attributes followed by all numeric attributes). The database is reorganized.
If you add or delete a database filler, or change the size of the filler, your database is reorganized.
Freeing Space in your Agile Business Suite Database
Reorganization of an <<Ispec>> class causes its tables to be rebuilt to reflect any changes, provides greater efficiency, and frees the space occupied by physically deleted records.
Deletion of records by the Purge logic command removes access to these records. This space can be used again by the same dataset, but cannot be released to your application for reallocation to other files. Release of space occurs when the structure is reorganized.
It is recommended that periodically, or after mass deletion of records from the database, you perform a garbage collection on your affected <<Ispec>> classes, by using the Database Management Utility (DMU). Refer to Database Management Utility (DMU) for more information about DMU.
Refer to the Enterprise Database Server for ClearPath MCP Utilities Operations Guide for more information on reorganization of databases.
DMS Activity during Reorganization
During regeneration, your DMS II software detects changes in datasets (or subsets, populations, and so on) and creates REORG DASDL and BUILDREORG DASDL parameter files to produce the correct series of reorganizations for your new database.
Refer to the Enterprise Database Server for ClearPath MCP Utilities Operations Guide for more information on reorganization of databases.