Creating a Custom Field

If the field you require does not exist in ASM Core, you can create and add your own.

Custom fields can also be used in reporting, setting up rules for Conditional Branching tasks, and can be used to search for items in ASM Core.

Before you start

You must have Designer selected in your General Access security role before you can use this option.

To maintain an audit trail of changes made to screens, forms and message templates, Designer must be selected in the Auditing window.

Best Practice

Keep a spreadsheet of all custom fields you create and the details for change control and planning purposes. This is also useful as a checklist against requirements.

You should create a CI called "ASM" and attach the spreadsheet to it, maintaining a complete change record and log of all the custom fields in perpetuity. You can also attach all other related documentation relevant to your software to the ASM CI in your CMDB. An example of a Custom Fields and Screens Spreadsheet is below - tailor it to your needs:

Best Practice

Choose a standard Naming Convention for all of your custom fields that includes: [Prefix]-[Body]-[Suffix]

This method will organize your fields logically and alphabetically in the field list table so that you can find them easily both when building your screen but also when writing queries and building rules in other screens and workflows.

  1. PREFIX: a logical designator (Project, Acronym, etc...). You should include a Project designator/number, or an acronym for the process you are defining, or any other designator such as your own companies name (or abbreviation) in the field name. The important thing is that it makes sense to both you and other administrators that will come after you.

  2. BODY: the name of the field

  3. SUFFIX: the field type (Chk, Txt, Num, etc...) When developers are building integrations through the API, etc, including the field type in the DB name enables them to know exactly what field and field type they are calling.

When creating rules and fields in ASM Designer, it's crucial to avoid using characters such as . , % $ @ " ' / and \ in the name. These characters are reserved and have special significance in SQL, the language used for managing and manipulating databases. If these characters are included in a field name, particularly at the start. They are automatically added to the database name as is. Their use can lead to potential issues or errors in SQL operations because these characters might be interpreted in a way that was not intended, affecting the execution of SQL commands. To ensure smooth operation and to avoid database errors, it's recommended to refrain from using these characters in names.

In SQL, beyond the common characters listed above, there are several reserved special characters and keywords that should be avoided. These include but are not limited to:

  • Semicolon (;): Used to separate statements.

  • Quotes (both single ' and double "): Used for string literals and object identifiers, respectively.

  • Percent sign (%), and square brackets ([]): Used in LIKE clauses for pattern matching.

  • Asterisk (*): Used in SELECT statements to select all columns.

  • Hyphen (-): Used for comments when doubled (--), and can be misinterpreted.

  • Plus (+), minus (-), slash (/), and backslash (\): Arithmetic operators and escape characters.

  • AT Symbol (@):In T-SQL, the @ symbol is used to declare a variable.

The examples below use an acronym that flags the process and illustrates the naming convention outlined above.

Example 1: You are doing an Employee Onboarding project. All the custom fields created for this project could be named like this - EOv1_[field name]_[field type]

EOv1_New Employee Name_TXT (Text Box - 255 Char)

EOv1_Returning Employee_CHK (Check Box)

EOv2_Returning Employee_Y/Ns (Yes/No String)

EOv1_Start Date_DT (Date Time)

EOv1_Special Access Required_Y/Ni (Yes/No Integer)

  • Note the 2 versions of the same field, "Returning Employee". Since projects usually involve several build, test, and fix/redeploy cycles, you may need to differentiate between iterations, sprints, or versions, of the same development project. This really depends on the scope of the project and your own organizations development practices.

  • Here, it was changed from a check box to a Yes/No string field in the second iteration. You could go back and delete the depricated field at some point, but during development cycles, simply versioning will suffice. Later cycles may want to reinstate the original field.

Example 2: You are creating a custom Screeen for Budget Requests. All the custom fields created for this screen could be named like this - BU_[field name]_[field type]

BU_FY_NUM (Number Field)

BU_Budget Amt_NUM (Number Field)

BU_Approvers_MS (Multi-Search List)

To Add a New Custom Field

  1. In the left pane, select the Add a Field tab.

  2. Select Create New in the left pane beneath the browse table of field types.

  3. The Create a New Field window is displayed. Select the type of field you wish to create from the list in the left pane:

4. In the main part of the Create a [field type] window, complete the details:

5. Select Create. The new field is added to the existing lists, in alphabetical order, and you will also see it in the list of fields in the left pane of the main window. The Create a [entity type] window stays open allowing you to create more fields.

6. Repeat for all the fields you wish to create, and then select Close.

Specifying List Details

The List Details window which appears when you are creating a field enables you to define a list of values for a Drop Down or List Box field. You can select an existing list or:

  1. In the List Name field, specify a name for the list. Follow the same naming convention as you did for your field name.

  2. Select Add to insert a new row in the browse table, and type the name of the value.

  3. If you will be using these values to calculate the value of another field, for weighting or risk calculation, for example, enter a numerical value for the list item.

  4. Repeat until you have defined all the values for the list.

  5. To remove a value, select it and then Remove. To change the order in which a value appears in the list, select it and then Move Up or Move Down.

  6. Select OK to save the list and return to the Create a Field window with your new list pre-selected.

Last updated