All masks created in DataView, irrespective of whether these are default masks or their application-specific copies are displayed using a default layout and have elementary functionality. Some of these features can be application-specifically modified.
Position and size of masks are defined in the fields Row, Column, Length, Width of the mask master.
After the mask has been opened, the position values determine the horizontal and vertical distance from the origin of the DataView application window. If you define a row and column position = 0, DataView will set off the mask some rows and columns away from the previous one. Length and width of a mask should be adjusted so that all fields are visible. If the size is not sufficient to display the existing fields or the records loaded in the mask, scroll bars will automatically appear, provided the scroll bar flags have been set.
If you use masks as sub-masks in combined forms, the position values define the distance to the origin of the header form. If you place sub-masks on index cards, the position and size values also determine the -> behavior of the index index card system.
You enter the aesthetic part of the mask in the field Mask Title of the mask master. It is displayed flush-left in the title bar (also in modal windows). With #filename:text you can assign a preceding icon to the title (Attention. Specify filenames without .bmp). Alternatively, you can create entity-specific icons with the name entityname.bmp. If DataView finds one, it will inherit them to all masks pointing to master tables of this entity and automatically use them in mask titles if they are not overridden by a mask-specific icon.
Note! Entity-specific icon is can also be used by the graphical browser.
All required icons are to be stored in a bitmap directory specified by DATAVIEW_CBMP. Only the .bmp graphics format and the size x pixels are supported. Icons for mask-titles are automatically cached by the client after they have appeared for the first time.
In generated default masks DataView automatically assigns the mask name as title. You should change that in copies of the mask, but not in the original.
Titles for forms can be output depending on field entries. To do that you can use the standard mask userexit cch_dyn_tit. It declares one or several form fields as form title fields when used at the -> Pre_Mask trigger. If data are loaded in the form, DataView will output the entries of these fields in the title bar depending on the record currently displayed. Any defined static form title will not be changed. DataView will write the variable part of the title behind the static one, separated by a /.
Example: If you declare the identifier field within an item form as title field, the current item name will appear in the title bar of the form, in the same way as for instance WORD does it with the name of an open document.
You can use the system buttons right in the title bar to iconify, maximize or close each mask. Closing a mask will initiate the -> Post_Mask trigger.
You use the client environment variable DATAVIEW_WMAX to control whether all masks of the application are to be executed as maximized windows or not.
The following information is displayed in the footer line of a mask:
DataView displays the first two pieces of information in combined forms for the currently active mask. For the active header form this is done in engraved, for an active sub-mask in embossed form.
The information about the parent record displayed in relation masks are its field entries in the -> significant fields of the calling (master) mask. You can influence the length of the information by changing the number of significant fields in the calling mask (field sign in the mask master).
The explanatory text for the field is entered in the Description field of the field master. However, you can overwrite it mask-specifically if the field is displayed in several masks. This is done on the Description-M field of the mask-field-default relation. It is useful to enter a text characterizing the field or informing about possible field entries.
The horizontal and vertical scroll bar are activated in the flags Vertical Bar, Horizontal Bar of the mask master. The scroll bars will appear if a mask size it reduced so far that not all fields can be displayed. In lists the block of -> significant fields is excluded from scrolling. Thus the most important fields will always remain visible. You can influence the length of this block by changing the number of significant fields (field significant fields in the mask master).
In lists you browse records using the cursor keys [CurUp], [CurDn] row by row or using [PgUp], [PgDn] page by page. This also moves the row pointer. In forms you browse records using the navigation buttons at the right in the footer line or using the cursor keys. In both case the current row position is displayed in the footer line.
In Forms any record displayed is automatically regarded to be selected. That is why browsing in forms also triggers the -> Select_Action trigger. With the help of a userexit at the trigger you can trap this function and evaluate it application-specifically (entry in the field Sel.-Action userexit of the Mask Data form, sub-form Additional Attributes).
Records are only selected in lists. In doing so, the list is shifted into -> Select state. A record is selected or deselected by a mouse click on the record; several records can be selected by [Ctrl] + or [Shift] + mouse click. All records are selected/deselected with a mouse click on the upper left button in the list. selected records are identified by different colour.
Selecting and deselecting records in lists triggers the -> Select_Action trigger (Attention, only if client variable DATAVIEW_SACT = ON). With the help of a userexit at the trigger you can trap and evaluate the action application-specifically (entry in the Select-Action userexit field of the Mask Data Form, sub-form Additional Attributes).
In lists and forms a double-click on records or fields triggers the -> Select_Action trigger. With the help of a userexit at the trigger you can trap and evaluate the action application-specifically.
The most frequent application is to prepare the record for editing after a double-click, i.e. to shift the mask into Update mode of -> Mask-Edit state. For this purpose the standard mask userexit cch_sel_dtv is available. If you install it at the Select_Action trigger (entry in the field Select-Action userexit of the Mask Data form, sub-form Additional Attributes), it evaluates the double-click and internally calls the standard menu userexit iwf_edt_lis. At default masks cch_sel_dtv is automatically installed.
Field contents (columns) can be sorted either alphabetically or numerically (ascending or descending) Only the data locally loaded in the mask will be sorted. There is no database access. The function works alternatingly. A first mouse click on the fields sorts in ascending and a second one in descending order. The currently active sorting is displayed by an arrow in the field title.
Alternatively you can have the data sorted by the database itself during a database query and then load them into the mask already sorted ( -> Query result sorted from database). However, compared to local sorting, a database sorting is slower.
In lists you can dynamically change the width of fields by positioning the mouse pointer on the dividing line between the field titles. A double-arrow will appear which you can use to move the dividing line. A double-click on the right dividing line optimizes the field width according to the field content.
In lists you can rearrange columns with [Ctrl+Shift]+drag&drop. The changed column positions remain valid until the mask is closed. Fields in forms can not be rearranged. It is also not possible to copy or delete columns by dragging them to other masks or onto the desktop. This event can beat customized by the API function wdh_fnc_mgn.
Actions on data in the mask can be executed via context buttons or via the context menu. The context menu is opened via right mouse button, [Enter] or [Windows context menu key]. For each -> mask state there can be an individual context menu or individual buttons.
For created default masks default buttons and default menus are automatically installed which allows you to manage data immediately. Usually you will replace the default buttons and default menus by your own ones. To do so, you have to create the desired button areas or menus and then link them to the mask. Linking is state-dependently done for menus by entering the menu names in the fields Menu/Sel, Menu/NoSel and Menu/Edt, and for button areas in the fields Button/Sel, Button/NoSel and Button/Edt. Detailed information how to create context buttons and context menus for masks can be found in -> Push Buttons in Masks and in -> Mask Menus.
You can use [Ctrl+A] to display important DataView-internal system fields in all created application masks to check them. The function works alternatingly displays / hides the -> System Fields UIC, GIC, ACC, CRE-DAT, UPD-DAT.
With the help of the standard menu userexit wdh_ext_lis you can also trigger this function in menus, via buttons or other keys. If you want to display the same information more comfortable, but for one selected record only, you can also open the -> Access form with the standard men userexit iwf_frm_acc.
In all created application asks you can use [Ctrl+O] to display in the meta data for the active mask or for the current field. The function opens a menu, in which you can select the relevant system masks. In the system masks the meta data that fit to the object are immediately displayed.