===================================================================== R:BASE 4.5 Plus! offers enhanced form pop-ups ===================================================================== Product: R:BASE Version: 4.5 Plus! or Higher ===================================================================== Area: Forms Catalog: Forms, Reports, Labels ===================================================================== Just about everything you had to do in an EEP to create pop-up menus beyond the field settings capabilities is now incorporated in the field settings. No programming is needed to create multi column pop- ups that come up automatically, prompt for a qualifying value, return the value from any column in the table back to the form and automatically skip to the next field. Quickly and easily create a menu like figure 1. No more code to strip out the customer id number. In fact the customer id number doesn't even need to appear on the menu but can still be the value returned to the form and used in lookup expressions. The menu in figure 1 was constructed in a form that uses the customer table in the Concomp sample database. Figure 1 -------- Date: 05/05/94 ÚÄ Transaction Information ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Enter Transaction Date: 05/05/94 ³ ³ Enter Transaction Number: 5533 Salesperson: 133 Coffin ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄ Customer NÛßßßßßßßßßßßßßßßßßßßß Company name ßßßßßßßßßßßßßßßßßßßßÛ¿ ³ Enter CustoÛ Computer Distributors Inc. Boston, MA Û³ ³ Û Computer Mountain Inc. Denver, CO Û³ ³ Û Computer Warehouse Bloomington, IN Û³ ³ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄ Order Information ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Detail# Model & Product Name Qty Price Extended Price ³ ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄij ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Form: tranform Table: transmaster Field: custid Page: 1 R:BASE 4.5 Plus provides users with new pop up menu options directly on the Field settings screen. These options make it easy to define complex expressions, specify which column value should be returned, and include a truly dynamic where clause that restricts the rows displayed in the menu. Figure 2 illustrates the new pop up menu options. These options are available on the second page of the Field settings screen. Figure 2 -------- ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Can the user access a pop-up menu for this field? .......... [No ] ³ ³ Do you want a custom pop-up menu for this field? .......... [N/A] ³ ³ Do you want this menu to pop-up automatically?............ [N/A] ³ ³ Do you want to skip to the next field after this menu? ... [N/A] ³ ³ Table name:__________________ Pop-up type:______________________ ³ ³ Menu values:____________________________________________________ ³ ³ Column returned:__________________ ³ ³ Upper left corner: Row __ Column __ ³ ³ Do you want a dynamic where clause? ...................... [N/A] ³ ³ Prompting message:_____________________________________________ ³ ³ ORDER BY and WHERE clauses or template (optional): ³ ³ _______________________________________________________________ ³ ³ Menubox title (optional):_______________________________________ ³ ³ Entry/Exit procedures for the field: ³ ³ Run ___________________ IN __________________ On entry into field³ ³ Run ___________________ IN __________________ On exit from field ³ ³ Press PgUp to return to the previous screen ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The options explained: Can the user access a pop-up menu for this field? ------------------------------------------------- Answering No turns off even the default pop-up menus. Now you can specify which fields in your forms can access data through pop-up menus. This provides more control and security to your data. On new forms created in 4.5 Plus, the default is No. On existing forms created in prior versions of R:BASE, the default is Yes. You must answer Yes here in order to access the other pop-up specifications. Do you want a custom pop-up menu for this field? ------------------------------------------------ If this is No, then users can access the field through the default pop- up menus only. Most often, when you are using pop-ups, you define a custom pop-up, even to lookup data from the same table the form is accessing. Do you want this menu to pop-up automatically? ---------------------------------------------- Now you no longer need to try and remember the "trick" to getting a pop-up menu to come up automatically (a 9 as the first character in the row position). Answer Yes and the menu comes up as the field is entered. Answer No, and the menu does not come up until the pop-up hotkey is pressed. Prior to 4.5 Plus, the Shift-F3 key was the only key that could be used to display pop-up menus when using a form unless you redefined it using a keymap, or used an EEP to display the menu. In 4.5 Plus you define a custom hotkey (on the Form settings screen) for pop-up menus. This is defined for each form. You can define [F2] to be the pop-up hotkey, or [Alt]M, for example. The same key is used throughout the form on all pop-up menus. Different keys can be defined for different forms, or the same key can be defined for all forms. It must be defined in each form. You do not need to define a separate keymap, just set it through the Form settings screen. Do you want to skip to the next field after this menu? ------------------------------------------------------ Many developers did pop-up menus in EEPs so after the user selected an item they could use SKIP or a script file to automatically move to the next field. This capability is now directly available in the Field settings through this simple Yes/No question. Answering Yes automatically moves the cursor to the next editable field on the form. Table name: _________________ Pop-up type: ______________________ Menu values: ____________________________________________________ Column returned: _________________ The Table name, of course, is the table that provides the data to display in the pop-up menu. The Pop-up type field now has four options: Single column -- display a menu of values from a single column only. The value displayed on and selected from the menu is returned to the form. Multi-column -- display from one to however many columns you can fit into a display width of 72 characters. This option requires that you select the column to return. The selected column does not need to be displayed on the menu. Each column selected for display is separated on the menu with a single space. The value returned to the field is from the specified column. Expression -- define an expression to display data on the menu. The expression length is limited to 80 characters. Use this option to space and justify columns on the menu. You can easily make a columnar menu using the LJS and RJS functions. The value returned to the form is the located length if the field is a variable. For example, locate a variable with a length of 6 and the first 6 characters of the expression are returned to the field. If the field is a column, the entire value displayed on and selected from the menu is returned to the field up to the maximum defined column width. To return only the first n characters of the value (the located width) to a column, use the new [<] format mask. Expression with column -- like the expression option, you write the expression that identifies the columns to display on the menu, but with this option you select an alternative column to return to the form rather than the first n characters of the value. The choices from the Pop-up type selection -- the column list or the expression -- are stored in the Menu values field. The Column returned field stores the column name that supplies the value to the field on the form. No longer are you limited to returning the first column displayed on the menu back to the form. Any column in the table can be returned, even if it is not displayed on the menu. This option is only enabled on the multi-column and expression with column options. Upper left corner: Row __ Column __ As before, you can specify a specific location for the pop-up menu to display on the form. If you leave these blank, R:BASE places the menu close to the field. The default placement of the pop-up menu is positioned much better than in prior versions. Do you want a dynamic where clause? Prompting message: _______________________________________ ORDER BY and WHERE clauses or template (optional): ___________________________________________________________ The dynamic WHERE clause allows the form developer to prompt users for a comparison value when using the form. A dialog box displays for entry of the requested value. The prompting message field displays in the dialog box. The menu then only includes values that meet the WHERE clause. You can have multiple conditions in your WHERE clause, but only one condition can be prompted for; the others must be explicitly defined. The ORDER BY and WHERE clause or template field allows the form developer to specify an explicit WHERE clause or a template for the dynamic WHERE clause. When specifying a template, an & indicates where to place the prompted for value in the WHERE clause. For example, WHERE custstate = '&'. If the column being compared to is TEXT, the & must be enclosed in quotes. You no longer need to specify a dummy WHERE clause in order to sort your pop-up menu. Now you can enter just an ORDER BY clause directly into the ORDER BY and WHERE clause or template field. Menubox title (optional): _________________________________ If you display a number of columns on the menu, you may want a title to identify them. For example, is the date displayed the birthdate, the hiredate, the callback date etc. Specify a title for the menu and use that to identify the items displayed. The title is centered automatically. Let's look at a specific example using the Concomp sample database and see how the menu displayed in figure 1 was created. Users know company names not the ID number for the company. In a form, the pop-up menu displays the company name, city and state. If company name is first on the menu, users can use the walkmenu feature to quickly find a specific company. Prior to 4.5 Plus, the ID number, custid, had to be first on the menu so you could return that value back to the form. Now, the user makes a menu selection by company name, but custid is returned to the form. Custid is then used in lookups and other expressions. We use an expression with column pop-up to define the menu display. This lets us justify the city and state fields and separate them with a comma. The expression looks like this: (LJS(company,40) & (custcity +',' & custstate)) We choose custid as the column to return to the form. It doesn't need to appear on the menu. If you have a large customer list, you obviously do not want to display a menu of thousands of names. Using the dynamic where clause option, prompt the user to enter either a complete company name or the first letter or first few letters of the name. Our where clause is, WHERE Company LIKE '&%'. The ampersand in the expression '&%' is replaced with the value the user entered in the dialog box. The percent sign is the many wild card character and is automatically appended to the end of the value. When the user enters the form, they are prompted with a dialog box asking for a partial company name. They enter the letter "C", for example. The menu comes up with all the companies that begin with "C". The ampersand in the expression "&%" is replaced with the value the user entered in the dialog box, i.e. "C", and the WHERE clause executed is WHERE Company LIKE 'C%'. We'll also put a title on the menu. We want our title to sit over the specific items on the menu to identify them so we space the text as we enter it: " Company name Location ". Figure 3 shows what the Field settings look like for this popup menu definition: Figure 3 -------- ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Can the user access a pop-up menu for this field? .......... [Yes] ³ ³ Do you want a custom pop-up menu for this field? .......... [Yes] ³ ³ Do you want this menu to pop-up automatically?............ [Yes] ³ ³ Do you want to skip to the next field after this menu? ... [Yes] ³ ³ Table name:customer Pop-up type:Expression with column ³ ³ Menu values:(ljs(company,40) & (custcity + ',' & custstate) ) ³ ³ Column returned:custid ³ ³ Upper left corner: Row __ Column __ ³ ³ Do you want a dynamic where clause? ...................... [Yes] ³ ³ Prompting message:Enter company name of first few letters: ³ ³ ORDER BY and WHERE clauses or template (optional): ³ ³ company LIKE '&%' ³ ³ Menubox title (optional):Company name ³ ³ Entry/Exit procedures for the field: ³ ³ Run ___________________ IN __________________ On entry into field³ ³ Run ___________________ IN __________________ On exit from field ³ ³ Press PgUp to return to the previous screen ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Press F2 when done Column custid INTEGER Table: customer