AX2346

Editing system configuration settings using Save Type 4

Using Save Type 4, you can edit system configuration settings by using save-to-database within a spreadsheet, instead of using the Software Manager.

When the system configuration settings are changed using Save Type 4, the application server cache is also reset, so that you will see the effects of most changes immediately. For changes that affect the ribbon, you must close Axiom Software and log in again to see the change.

Save Type 4 depends on the placement of save-to-database tags within the sheet. There are three components:

  • The primary SaveStructure2DB tag, which defines the locations of the save-to-database control row and control column, and specifies the desired operation.
  • Column tags in the save-to-database control row, to specify the columns which hold the configuration properties.
  • Row tags in the save-to-database control column, to determine the action to take on the system configuration setting (save or delete).
Save-to-database tag summary
Tag Type Tag Syntax

Primary tag

[SaveStructure2DB;Axiom.SystemConfiguration;CustomSaveTag=Name]

Row tags

[Save]

[Delete]

Column tags

DatabaseCode

ConfiguredValue

NOTES:  

  • Save Type 4 must be enabled for the sheet on the file's Control Sheet in order for the save process to occur. For more information, see Using Save Type 4.

  • The user performing the save must be an administrator.

  • An example template with a Save Type 4 to Axiom.SystemConfiguration is available in \Axiom\Axiom System\Document Templates\Support Utilities. You can copy this template to your Reports Library and adapt it for your system as needed.

Placing the primary save-to-database tag in the sheet

To define the save-to-database process, place the following tag in any cell in the sheet, within the first 500 rows:

[SaveStructure2DB;Axiom.SystemConfiguration]

The row containing this tag becomes the control row for the process, and the column containing this tag becomes the control column for the process.

You can also optionally use the custom save tag parameter. For example:

[SaveStructure2DB;Axiom.SystemConfiguration;CustomSaveTag=SaveConfig]

NOTES:  

  • The primary SaveStructure2DB tag must be located in the first 500 rows of the sheet.

  • The SaveStructure2DB tag can be placed within a formula, as long as the starting bracket and identifying tag are present as a whole within the formula. For more information, see Using formulas with Axiom feature tags.

Defining the system configuration properties in the control row

Within the control row for the save-to-database process, specify the columns that define the system configuration properties. You can place these properties in any column:

Column Tag Description

DatabaseCode

The database code of the system configuration setting.

The database code is not always the same as the name displayed for the configuration setting in the Software Manager. The easiest way to get the exact database code for the desired setting is to use an Axiom query to bring in the name and database code for each setting. The table to be queried is Axiom.SystemConfiguration.

ConfiguredValue

The value of the system configuration setting.

The value must match the allowed values for the particular configuration setting (such as True or False for a Boolean setting).

For more information on the allowed values for a setting, see System configuration settings. You can also use an Axiom query to bring in the data type of each setting from the Axiom.SystemConfiguration table.

The column tags can be placed to either the right or the left of the SaveStructure2DB tag. Both of the column tags are required and must be placed somewhere in the save-to-database control row.

The control row must be dedicated to containing only valid column names for the Save Type 4 operation to the target table. Any invalid entries in the control row will cause an error when saving.

Flagging the rows to save or delete

Within the control column for the save-to-database process, mark each row that you want to be processed with the appropriate row tag:

Row Tag Description

[Save]

Saves the system configuration setting with the specified value.

If the value is invalid for a particular setting, then the save will not occur.

If you have defined a custom save tag in the SaveStructure2DB tag, then you must mark the rows with that tag instead of the default tag. For example, if your primary tag is [SaveStructure2DB; Axiom.SystemConfiguration; CustomSaveTag=MySave] then you would place the tag [MySave] in the rows that you wanted to be saved.

[Delete]

Deletes the current user-defined value for the configuration setting, to restore the system default value.

In this case it does not matter what value is specified in the ConfiguredValue column; whatever current value exists in the database will be deleted, so that the system uses the system default value.

Only rows that are marked with a valid tag are processed; all other rows are ignored, even if there is content in the property columns. If a row contains a valid tag but no content exists in the property columns, a save error will occur.

When the save-to-database occurs, delete actions are processed first, followed by save actions.

NOTE: The row tag can be placed within a formula if desired. For example, you might want to use a formula to determine whether a particular row should be saved or deleted.

Populating the system configuration properties in the spreadsheet

In the property columns, enter the database code and the configured value to be updated.

You can manually type the values, but the easiest method is to use an Axiom query to populate the spreadsheet with the configuration settings. Once you have the current list as a starting point, you can adjust them as necessary, and then save changes back to the database. This is also the best way to ensure that you have used the correct database code and the correct data type for the configured value.

In the following example, the Axiom.SystemConfiguration table was queried to bring in the list of configuration settings (rows 3 and 4 are the Axiom query field definition and calc method respectively). We then changed the configured value for the SystemCurrentPeriod and flagged that row to save. For the Save Type 4 process, Row 6 is the save-to-database control row and column I is the control column.

If you only ever needed to change the system current period, then you would not need to bring in all this other information—you could manually set up a save process for that single setting. But if you wanted to have a way to manage all of your configuration settings outside of the Software Manager, you could use a setup like this, and then limit access to this file to only your system administrators.