GeneXus includes referential integrity controls in programs related to Transactions (and Business Components), in addition to generating selection lists that prove quite useful for inserting and updating related data.
A Selection List is a panel (web or smart device) created automatically by GeneXus to provide end users with the possibility of querying the data existent in a specific table in the database in order to select certain data, returning its identifier.
For instance, when an end user executes Company transaction in order to edit a specific company whose identifier is not at hand, it is possible to select it through a panel showing all companies. If upon entering a customer’s country (CountryId attribute, foreign key) we ignore the values of the countries entered, we can activate a selection list that will enable us to query all the countries on the COUNTRY table and select the one we want.
When generating for Web environment, for each primary key and foreign key in a Transaction we will have the corresponding selection list.
In the web Transaction, to select a company´s country in runtime we click on the image to the right of the CountryId attribute.
When generating for Mobile & Smart Devices environment, selection lists will be created exclusively for the foreign keys present in the Section (General) of the corresponding Work With (since in Smart Devices, the location to interactively enter/modify the table’s information is not the transaction but rather the Section(General) of WorkWithDevices<Transaction>).
For example, to select a company's country, open the company detail in edit mode and select the prompt icon on the CountryId attribute.
- Selection Lists associated with a Transaction’s foreign keys are usually called prompts, and we usually call the selection list associated with the primary key (only in web) under the name autoprompt. However, this is just a terminology difference since they are the same objects reused as prompt or autoprompt, depending on whether we invoke them, respectively, for a foreign or a primary key.
For related information, refer to Prompt rule and HowTo: Create a User Prompt from scratch in Smart Devices