Modifying Dropdown Lists Share Share via LinkedIn Reddit Email Copy Link Print On This Page This content applies solely to Connected Onboarding, which must be purchased separately from the Appian base platform. This content was written for Appian 23.3 and may not reflect the interfaces or functionality of other Appian versions. Introduction The Connected Onboarding solution is designed to be customized to your organization's particular needs. The various interfaces in the out-of-the box solution contain dropdown lists. Some dropdown values such as Onboarding Type and Product Type, a business user can change in the Connected FS Settings Site. However, if you need to modify a dropdown field that is not accessible through Connected FS Settings, you can modify the values by modifying reference data tables. For example, you can add or delete values that display in the Address Type dropdown list. This page outlines how to modify the values that can be chosen from dropdown lists in the various interfaces of the Connected Onboarding solution. If you need to add a value to a particular dropdown list, add a row to the reference data table. See the Adding new dropdown values section. If you need to remove a value from a dropdown list, deactivate the value in the reference data table. See the Deactivating a dropdown value section. If you want to add a new dropdown list, create a new dropdown list type in the reference data table. See the Adding a new dropdown list section. If you are using the solution in multiple languages, see the nuances of this in the Internationalizing dropdown list values section. See the Reference Data Tables page for descriptions of the table structures. Adding new dropdown values Dropdown values that cannot be set in the Connected FS Settings site are stored in the AS_IO_R_DATA table. Updating this table allows you control what dropdown values and lists display to end users moving through the Onboarding process. See the Connected Onboarding only reference data table on the Reference Data Tables page for a description of the table structure. To add a value to a dropdown list: Insert a new row into the AS_IO_R_DATA table. Update each column with the following information: R_DATA_ID: This is the primary key of the reference value. Note: To avoid conflicts when upgrading to a newer version of the solution, the first 100,000 rows of this table are reserved for future use by the Appian Connected Onboarding product team. Note: When adding a new row to this table, leave this value as NULL. There is a default AUTO_INCREMENT setting on this table, so that any new rows you insert with a NULL primary key will begin at 100,000 and increment from there. LABEL: The new bundleKey value you will reference in your bundle file. TYPE: A grouping category for the dropdown values; a name for the dropdown list. Note: The label for a dropdown list is defined in a bundle file, so this isn't necessarily the same as the label for a dropdown list. CODE: The dropdown list type with a descriptive suffix. SORT_ORDER: Optional field that can be used specifying sort order Note: Queries will have to be updated to query against this column for this to be implemented ICON: Optional field that can be used to specify icon for this entry COLOR: Optional field that can be used to specify color for the icon IS_ACTIVE: true (1) CREATED_BY: Your Appian username. CREATED_DATETIME: The current timestamp, in the format YYYY-MM-DD HH:MM:SS. MODIFIED_BY: Your Appian username. MODIFIED_DATETIME: The current timestamp, in the format YYYY-MM-DD HH:MM:SS. After the row is inserted, this value will be available in any of the dropdown lists that have the same reference TYPE as the value you inserted. EXAMPLE To add a new dropdown value, you could use the following SQL statement, replacing the values in brackets (< >) with your data. Note that this example uses MySQL syntax. 1 2 3 INSERT INTO `AS_IO_R_DATA` (`R_DATA_ID`, `LABEL`, `TYPE`, `CODE`, `IS_ACTIVE`, `CREATED_BY`, `CREATED_DATETIME`, `MODIFIED_BY`, `MODIFIED_DATETIME`) VALUES (null, '<New Label>', '<Type>', '<Code>', 1, '<Username>', CURRENT_TIMESTAMP(), '<Username>', CURRENT_TIMESTAMP()), (null, '<New Label>', '<Type>', '<Code>', 1, '<Username>', CURRENT_TIMESTAMP(), '<Username>', CURRENT_TIMESTAMP()); Deactivating a dropdown value If there is a value in a dropdown list that is no longer needed, deactivate the value by changing the IS_ACTIVE value in the AS_IO_R_DATA from 1 (true) to 0 (false). Note: Deactivating an Onboarding status or task status is not recommended, as it will negatively affect other aspects of the solution. After the update is made, this value will no longer display in any dropdown list. The value will still display for already active and historical data. Note: Deleting data from the table is not recommended except during initial set up. If the solution is already in use, deleting data rather than deactivating it may cause issues. EXAMPLE To deactivate a dropdown value, you could use the following SQL statement. Replace <ID Being Updated> with the R_DATA_ID value. For example, to deactivate the FEE_RATE_MONTHLY in the following example table, <ID Being Updated> with the R_DATA_ID value. R_DATA_ID LABEL TYPE CODE IS_ACTIVE 24 FeeRate.lbl_Annual Fee Rate FEE_RATE_ANNUAL 1 25 FeeRate.lbl_Monthly Fee Rate FEE_RATE_MONTHLY 1 Note that this example uses MySQL syntax. 1 UPDATE AS_IO_R_DATA SET IS_ACTIVE = 0 WHERE R_DATA_ID = <ID Being Updated> Adding a new dropdown list If you want to add a new dropdown list, you need to create a new dropdown list type. There are two main steps to add a new dropdown list: Add a new row to the AS_IO_R_DATA table. See Adding new dropdown values for instructions on how to add new rows. For the value in the TYPE column, enter a name for the new dropdown list, such as Entity Region. For the value in the CODE column, enter a short prefix to associate with the new dropdown list type, along with a number to give it a unique identifier. For example, ENTITY_REGION_ASIA. Create a constant in the application to be able to query this from the database. See Using a new dropdown list in the application for instructions on how to set this up. Using a new dropdown list in the application After a new dropdown list type has been added to the AS_IO_R_DATA table, it will need a constant to point to it in order to be used in interfaces. Go to the AS IO Baseline application in Appian Designer. Create a new constant called AS_IO_REF_TYPE_<NEW_DROPDOWN_LIST_TYPE>. For example AS_IO_REF_TYPE_ENTITY_REGION. Type: Text Value: <New Dropdown List Type> Note: This needs to exactly match the dropdown list name in the TYPE column of the AS_IO_R_DATA table. For example, if the name in the TYPE column is Entity Region, the value here must be the same. Save it in the AS IO SAIL Design Objects folder. After the dropdown list constant has been created, the list is ready to be used by the AS_IO_QE_getRefDataByType rule. This rule pulls all of the reference data onto the interface that needs a reference value. AS_IO_QE_getRefDataByType takes in typelist—an array of text—corresponding to the type values in the database you need to use. EXAMPLE To pull in the Fee Rate or Entity Type dropdown lists, you would use the rule as shown below: 1 2 3 4 5 6 7 8 9 local!refData: rule!AS_IO_QE_getRefDataByType( typelist: { /* Request Status */ cons!AS_IO_REF_TYPE_FEE_RATE, /* Onboarding Type */ cons!AS_IO_REF_TYPE_ENTITY_TYPE } ) As shown in the example, you can pass in either text or a constant of type text with the corresponding dropdown list type. Tip: Remember that AS_IO_QE_getRefDataByType is a query. In order to minimize the number of queries, it is best practice to avoid calling your reference data in sub-interfaces. Instead, query for all of the reference data on the main form and pass it to the sub-interfaces using rule inputs. Internationalizing dropdown list values If you are using Connected Onboarding in multiple languages, the reference data needs to be internationalized in order to show the user the dropdown values in their native language. To do so, you will only need one entry in the AS_IO_R_DATA table for each value, but you will need to have a bundle (or document file) based on the default language that the user has selected. The LABEL column of AS_IO_R_DATA will act as a key for the application to show the proper label based on which bundle is selected. The LABEL consists of <bundleName>.<labelName>. EXAMPLE For example, the LABEL FeeRate.lbl_Annual has a bundle called FeeRate and a label name lbl_Annual. R_DATA_ID LABEL TYPE CODE IS_ACTIVE 23 FeeRate.lbl_Annual Fee Rate FEE_RATE_ANNUAL 1 The FeeRate_en_US bundle will show the following: 1 2 3 4 ... lbl_Annual=Annual lbl_Monthly=Monthly ... The FeeRate_es bundle will show the following: 1 2 3 4 ... lbl_Annual=Anual lbl_Monthly=Mensual ... Both dropdown values use the same LABEL to reference the correct translation. After the additional translations are in the bundle, end users will be able to view the dropdown values in their native language. If you are adding a new language, you will also need to update the labels and the initial KYC screening questions in the application to use the language. See the Solutions Hub User Guide for how to do this. Other reference data tables There are several other tables that contain reference data that appear in lists. The information stored in these tables are universal and shouldn't change often. However, if you ever have to change the list of countries, currencies, industry classification codes, or states, refer to the below tables. AS_FS_R_COUNTRY A list of countries AS_FS_R_CURRENCY A list of currencies AS_FS_R_GLOBAL_INDUSTRY_CLASS Industry classification codes and names AS_FS_R_M_CURRENCY A mapping of currencies to countries AS_FS_R_STATE A list of US states Feedback Was this page helpful? SHARE FEEDBACK Loading...