# Getting Started

## Cross-entity searching

| For the complex search of metadata and user data, you use the dynamic search screen. After the entry of a main entity, you can collect individual search lists and search for data about, for instance, multiple connected entities in the data model.
| Searching
| The cross-entity search is not available on the Web client.
| ### Creation of an individual search list
| Select Tools> Query across entities. The dynamic search screen opens.
| To start the search, you must first enter the name of the main entity. The main entity for one or more search lists is the entity which is the starting point in the data model or whose master table is the one which will supply the unknown data to be searched through.
| Click the button.
| Enter the title of the main entity in the Main Entity field.
| Click the button or press the ENTER key twice in order to display the available items. The default master list of the main entity appears. This is a template and cannot be modified.
| Select New from the context menu in the form header and enter a name for a new search list in the input screen. (It doesn't matter what name). A new tab is created. Initially it shows a copy of the default master list as a new search list.
| Remove unnecessary fields/columns from the search list by holding the mouse button first and pressing `[Ctrl+Shift]` simultaneously to mark a column and drag it onto the desktop. Important fields of the main entity cannot be removed.
| Add new fields/columns into the search list by marking the fields/columns in any source screen and dragging them into the desired position in the search list. Search screens can be Agile e6 system forms for searching for metadata and any user screens when searching for user data. Note the rules for the construction of search lists.
| Search for data with the standard function Search.
| ### Further processing of search results
| Search results in search lists can optionally be dragged and dropped in screens which show the master table of the main entity. This allows you to immediately understand the records you find, and edit them. Data, which is already included in the target mask, will be deleted after the drag and drop operation.
| ### Saving search lists
| Agile e6 does not save search lists created for a main entity in the Repository, but rather in a user-specific file in the `<frm>` directory on the server. After closing and reopening of a search screen and loading of the main entity, all search lists created for this main entry will once again be available.
| ### Rules for the creation of search lists
| The selection of the main entity, of fields/columns in a search list as well as their order determine the set-up of the WHERE clause for the SELECT statement which Agile e6 uses in the search. Note the following rules for the construction of search lists. Selection of the main entity When creating a search list, always select that entity as main entity whose master table contains the unknown data you are searching for.
| Selection of search fields/columns
| For the first field, always select a significant field of the main entity. If the search extends over several related entities in the data model, the search list must always contain at least one significant field of the participating entities. The order of significant fields in the search list must correspond to the order in which the participating entities are connected in the data model. If two entities in the data model are connected over a connection, you don't necessarily have to add the corresponding key fields to the search list. Agile e6 will recognize it on its own. If the data model has multiple connections leading out from one entity, however, then you must decide which connection the search will follow, and include the corresponding key fields. If you do not, Agile e6 will always use the first connection defined in the entity.
| ### Application-specific invocation of the search screen
| The invocation of a search screen from the application is done using iwf_frm_ent ENTITY USRMGN_FORM.
| ### Search screen example
| You have already created screens with context menus, for instance during application development. Now you want to find all screens whose Select menu contains an Edit item. The search is executed in the Agile e6 data model over the system entities T_MASK(screen data), T_MENU (Menu data) and T_SELECTION (selection data). Select screen data as the main entity, since this is the master table you want to retrieve data about. In a new search list, you first add the necessary significant fields of the participating entities in the order given by the data model. Additionally, the Menu/Sel key must be inserted after the screen name, so that the search will execute over the Screen-Select-Menu connection and not over one of the other six possible connections between screens and menu/button areas. The addition of the Selection text attribute field is optional and in this case allows entry of the Edit search criterion. If you also would like to see the titles of the screens found, you could insert the attribute field Screen Title between the screen name and Menu/Sel .