Reserving Database Filler Space

In general, whenever new attributes are created in any <<Ispec>> class or the Event, it causes a database reorganization. However, if you know in advance that you have to add attributes later, you can create a database filler: a reserved number of bytes to be used to store these added items. As long as the added items fit within the reserved database filler, adding them does not cause a database reorganization.

Specifying a Database Filler

To specify a database filler for an <<Ispec>> class, enter the size in bytes in the range 0 through 2047 in the Filler Size property under the DASDL category for the <<Ispec>> class. Refer to the Agile Business Suite Developer User Guide.

You can specify a database filler for any Standard <<Ispec>> class with one or multiple keys, and has persistence members. You cannot reserve database filler separately for future StoreIfPresent attributes, only for the <<Ispec>> class that contains the StoreIfPresent attributes.

Note: When you define a database filler, DMS II adds this space to the end of the database record, increasing the physical database record length. This increase might have an impact on performance, disk space, and memory usage, and it is recommended that you only use a database filler when you know that attributes is added in future.

Refer to the DMS II Data and Structure Definition Language (DASDL) Programming Reference Manual for more information.

What happens when you add persistent attributes

When you add new attributes for an <<Ispec>> class with a database filler defined:

Database Filler for Configurations

The database filler has the same value for all MCP based configurations. For a Module, the value for the Module Master is used.

Value of Attributes in the Database Filler

Values of attributes added to the database filler are set to the default initial values.

 Caution

These values can cause problems in your logic.

It is recommended that you write a Report to set these values to the appropriate initial values, such as spaces or zeros. You can test for the inserted values by using Glb.High for alphanumeric attributes or NOT NUMERIC for numeric attributes.

Note: You can reserve database filler for an <<Ispec>> class that contains StoreIfPresent attribute, but not for the StoreIfPresent attributes themselves.

Reorganization

The following conditions causes a database reorganization: