Release 10.1A: OpenEdge Development:
Progress Dynamics Advanced Development

> ## Customization table

> In many cases the `customization_result` table is sufficient to define all the information the application needs to identify which customizations should apply for a given session. In some cases, however, it is not possible to provide a simple, direct mapping between the value returned by the API call for a given customization type and the result codes stored in the `customization_result` table. For example, the customization type can be one that defines general categories or groups, such as `UserCategory`. It might be useful to define result codes that are categories such as manager or engineer, but these might not be directly represented anywhere in the application for the customization type API to return. Also, it is not practical to have to define result codes for every single user when in fact the customizations are defined not at the User level, but at the `UserCategory` level.

> The `rym_customization` table allows you to define a mapping to solve this problem when such a mapping is needed. It is, in effect, a cross-reference table between `customization_type` and `customization_result`, to define a one-to-many relationship between the two. In addition to its own object ID, the table has object IDs to join it to both the `customization_type` table and the `customization_result` table.

> It has just one other field called `customization_reference`. This `CHARACTER` field holds the cross-reference value that supports the mapping between type and result. For the `UserCategory` example, this field could contain individual user IDs as returned by the API function for the type. Each of these IDs can in turn be mapped to a result code record for the category. This would allow you to have a single result code called manager, and then have many `customization_reference` values that would map to that single `UserCategory`. When you define customizations, you define them against the manager result code. When you run the API function for the type, it returns a value that you look up in the customization table as a reference value. You can then link from there to the result code to identify the general result code for this category of user.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095