Web 2.0 Grid Update Maintenance Template
The Grid Update Maintainer extends much of the same functionality available in other m-Power maintenance templates with the added feature of updating and deleting multiple records at one time. Unlike the Work-with maintainer, the ability to add and copy records is not provided.

Creating the Grid Update Maintainer
When creating an application with the Grid Update Maintainer template it is very important to select the appropriate sequence keys that will make the records unique. If the records are not unique by the sequence keys, it is possible that you will update or delete records that you did not intend. In the example above, the records are unique by the Order Number and so it has been selected as the only sequence key.
Grid Update Maintainer Application Properties
There may be times when you create a Grid Update Maintainer which joins out to one or more tables. When this is the case, you have the option of updating all tables in the maintainer or just the primary table. This option can be found in the Application Properties. It is called “act_rule”.

By default, this property will be set “Primary table only”. If you would like to make changes to all tables included in the maintainer, change the property to “All Tables”.
Setting fields to Update or Display only
You also have the ability to set individual fields to “display only” to prevent them from updating. This option is available in Field Settings. Simply choose the field, and set the Field Type to “Display”.

Other Considerations when joining tables
Creating a Grid Update Maintainer application over multiple tables requires some additional consideration to prevent unexpected behavior:
- Updating Secondary Tables — When updating a secondary table field in a Grid Update Maintainer, the join field value can be altered. However, some unexpected results may occur when a join field’s value is altered. For this example, let’s say we join on a product number to get a product description from the secondary table. If I then modify a record’s product number in the grid maintainer to a product number that does not exist, the maintainer will update the primary table, but not the secondary table. Depending on the type of join (inner or outer) the record may disappear from the record list because there is no longer a match. This is one example where it may be worthwhile to set a join field to “display” instead of “update” so that a user can not unintentionally modify records in a harmful way.
- Avoid One-To-Many Relationships — The Grid Update Maintainer will update records based on the sequence keys selected in the primary table. One-to-many relationships should be avoided if possible, as the potential for updating records unintentionally increases. If a table-join results in a one-to-many relationship, the selected sequence key(s) may no longer identify the records uniquely. If a field from a secondary table is then updated, other records may be updated as well based on the primary table’s sequence fields.
