=====================================================================
                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