Version 6.3.13 for Windows
 —  Editors  —

Map Editor

The Natural map editor is used to create and modify a Natural object of type map. A map is a screen layout that can be referenced in a Natural object such as a program by using either an INPUT USING MAP statement (for input maps) or a WRITE USING MAP statement (for output maps).

A map contains text fields and data fields. Text fields are literal strings and data fields are variables. Data fields can be either user-defined variables or Natural system variables.

Once a map has been created, it can be stored as a source object and a cataloged object in a library in a Natural system file.

Note:
The map editor supports fields with Unicode format and Unicode strings. However, when reading the source of a Unicode map into the editing area of a map editor in a local UNIX, OpenVMS or mainframe environment, all Unicode strings will be removed from the source.

The Map Editor documentation covers the following topics:

Related Topics:


Inserting Map Fields and Menus

You can create the following types of fields:

Text constants and data fields correspond to the fields used in character-oriented Natural platforms (Mainframe Natural, for example). All other field types apply only to applications with graphical user interfaces.

Note:
Map editor field types are not the same as the dialog elements with the same name used in the dialog editor. Whereas the dialog editor's dialog elements are identified by a handle definition in a data area, the map editor's fields are not defined in a data area. Each is therefore addressed differently in Natural code: the map fields are addressed by an INPUT USING MAP statement, whereas the dialog elements are addressed by event-driven programming features.

The procedures in this section for inserting map fields assume the use of a mouse. The keyboard equivalents are provided in Keyboard Equivalents.

Start of instruction setTo insert a map field

  1. From the Insert menu, choose a field type.

    Or:
    Click the toolbar button for the required field type.

  2. Move the mouse pointer into the editor.

    The cross-hair pointer is displayed with a symbol for the selected field.

  3. Position the mouse pointer at the place in the map where you want to put the field, hold down the left mouse button and drag the mouse to size the field (up, down, right, or left, depending on the type of field).

    A box is displayed to indicate graphically the size of the field you are creating. Its actual length is displayed in the Len field in the editor status line.

  4. Release the mouse button.

    The map field appears in the map editor. It is selected and its properties are displayed in the status line.

Start of instruction setTo create a map menu field using the mouse

For information on manipulating map fields once they have been created, see Modifying Map Contents.

For information on importing variables from other Natural objects, see Importing Fields.

Top of page

Character Encoding of Literal Strings

If a field contains a literal string (for example, a label) with one or more characters that cannot be retained using the current code page of the map source, a dialog box appears prompting you to encode the characters in UTF-8 (Universal Transformation Format, 8-bit form):

Top of page

Modifying Map Contents

This section covers the following topics:

Keyboard Equivalents

Most of the actions described in this section can be performed using the keyboard instead of the mouse. The table below provides key sequences for each action.

This action Is performed with this keyboard action
Move the mouse pointer Press arrow keys.
Select map field Place mouse pointer on field and press SPACEBAR.
Select map fields Place mouse pointer outside field, press and hold down SPACEBAR, press arrow keys to encircle map fields to be selected, release SPACEBAR.
Deselect map field(s) Move mouse pointer outside field(s) and press SPACEBAR.
Move map field(s) Select map field(s), press and hold down SPACEBAR and press arrow keys.
Copy map field Select map field and press CTRL+C.
Cut map field Select map field and press CTRL+X.
Paste map field Select map field and press CTRL+V.
Delete map field Select map field and press DEL.
Resize map field Select map field, move mouse pointer to a field handle, press and hold down SPACEBAR and press arrow keys.
Open dialog box to define local data Press ALT+M+L.
Open dialog box to define parameter data Press ALT+M+D.

Selecting Fields

Start of instruction setTo select a single field

Start of instruction setTo select more than one field

Deselecting Fields

Start of instruction setTo deselect a field

Copying Fields

Fields can be copied within the same map or between two different maps.

Start of instruction setTo copy a field

  1. Select the field(s) to be copied using the instructions provided in Selecting Fields.

  2. From the Edit menu, choose Copy.

    Or:
    Click the Copy toolbar button.

    Or:
    Press CTRL+C.

    The field is copied to the clipboard and can now be pasted within the same map or another map. For instructions on pasting fields, see Pasting Fields.

Cutting Fields

The cut function can be used to delete fields from a map or to move fields within/between maps.

Start of instruction setTo cut a field

  1. Select the field(s) to be cut using the instructions provided in Selecting Fields.

  2. From the Edit menu, choose Cut.

    Or:
    Click the Cut toolbar button.

    Or:
    Press CTRL+X.

    The field is cut to the clipboard and can now be pasted within the map or to another map. For instructions on pasting fields, see Pasting Fields.

Pasting Fields

The paste function is used to place a field at a specific position within an editor after it has been copied or cut to the clipboard from another position within the same map or another map. A field, which has been copied or cut to the clipboard, can be pasted repeatedly without recopying it.

Start of instruction setTo paste a field

  1. Copy or cut the field to be pasted as described in Copying Fields or Cutting Fields.

  2. If the field is to be pasted in another map, select the map.

  3. From the Edit menu, choose Paste.

    Or:
    Click the Paste toolbar button.

    Or:
    Press CTRL+V.

    The field is pasted to the map.

  4. To paste the same field again, repeat Steps 2 and 3.

Deleting Fields

When a field is deleted, it is cut from the map but is not placed on the clipboard.

Start of instruction setTo delete a field or a range of fields

  1. Select the field(s) to be deleted using the instructions provided in Selecting Fields.

  2. Select the field or range of fields.

  3. From the Edit menu, choose Delete.

    Or:
    Click the Delete toolbar button.

    Or:
    Press DEL.

    The field is deleted from the map.

Moving Fields

Start of instruction setTo move a field or a range of fields to a different location on the map

  1. Select the field(s) to be moved using the instructions provided in Selecting Fields.

  2. Place the pointer within the field handles and drag the field or range of fields to the new location.

  3. Release the mouse button.

Resizing Fields

Start of instruction setTo resize a field

  1. Select the field(s) to be resized using the instructions provided in Selecting Fields.

  2. Point to any of the field handles surrounding the field.

    The pointer changes to a double-sided arrow.

  3. Drag the mouse until the field(s) reach the required length.

  4. Release the mouse button.

Aligning Fields

As an alternative to arranging fields within a map individually using the move function, you can arrange fields more accurately with respect to each other or with respect to the map by using the align function. You can align fields in a map in the following ways:

Start of instruction setTo align fields

  1. Select the field(s) to be aligned using the instructions provided in Selecting Fields.

  2. From the Field menu, choose Alignment and, from the cascading menu, one of the entries.

    Or:
    Click one of the alignment toolbar buttons.

    The selected fields are aligned.

Importing Fields

You can import data fields, system variables, toggle buttons, selection boxes, and radio buttons into the active map. Fields can be imported from any object, including DDMs (data definition modules), in any library. Imported fields are placed on the system clipboard. You can paste them into as many map editor windows as required.

Start of instruction setTo import one or more fields from another object into the map editor window

  1. From the Insert menu, choose Import and one of the following types of field: Data Field, Toggle Button, Radio Button, Selection Box or System Variable.

    (For system variables, see Importing System Variables.)

    The Import dialog box appears. The name of the current library is displayed in the Library list box.

  2. If the object containing the fields you want to import is located in a different library, open the Library list box and select the library.

    The list contains all libraries that reside in the current FNAT and FUSER system file, which are displayed as nodes in the Natural Studio tree view (the display can be limited by using the Display Filter function of Natural Studio). In addition, the list contains all libraries from inactive system files as specified in the steplib table.

  3. From the Type group box, select the type of Natural object from which you want to import fields.

    A list of all Natural objects in the current library of the type you selected appears in the Object list box.

    The list contains all objects, which are displayed in the library nodes of the Natural Studio tree view (the display can be limited by using the Display Filter function of Natural Studio).

  4. Select the object that contains the fields you want to import.

    The fields in the selected object appear in the Importable Data list box.

  5. Select the fields that you want to import.

  6. Choose Import.

  7. Choose Quit.

    The dialog box closes and the fields appear in the upper left-hand corner of the map editor window. You can move the fields around within the map.

    Note:
    If you import a multiple-value field or a periodic group from a view definition in a local or a global data area, the number of occurrences is automatically copied from the selected field into the array definition box.

Importing System Variables

Start of instruction setTo import one or more system variables into the map editor window

  1. From the Insert menu, choose Import > System Variable.

    The Import System Variable dialog box appears.

  2. Select the system variables that you want to import.

  3. Choose Import.

  4. Choose Quit.

    The dialog box closes and the system variables appear in the upper left-hand corner of the map editor window. You can move the system variables around within the map editor window.

Note:
If you are working with Natural Single Point of Development (SPoD), only the system variables available for the environment you are using (that is, your operating system and Natural version) will be displayed.

Top of page

Defining Fields

When a map field is inserted, it is given a default field definition and/or default field attributes which can be modified at any time.

Start of instruction setTo modify a definition for a field

  1. Select the field to be modified.

  2. From the Field menu, choose Definition.

    The Field Definition dialog appears.

This section covers the following topics:

Defining Text Constants

This field is always alphanumeric. You can modify the text in a text constant at any time.

Start of instruction setTo modify a text constant

  1. Double-click on the text field to be modified.

    Or:
    Select the field and choose Definition from the Field menu.

    The background in the text field is highlighted.

  2. Enter the required text directly in the text field. For text field modification, you can also use the context menu.

    If the text is long, it could be necessary to increase the size of the text field. See Resizing Fields.

  3. Deselect the text field.

Defining Data Fields

Start of instruction setTo modify a data field definition

  1. Double-click on the field to be modified.

    Or:
    Select the field and choose Definition from the Field menu.

    The Field Definition dialog box appears.

  2. The Field text box contains the current name of the field. You can change it by typing in a new name.

  3. From the Format list box, choose a Natural data format for the field. The default format is A (alphanumeric).

    For valid input values, see Format and Length of User-Defined Variables in the Programming Guide.

    Note:
    Because the information required to define a field depends on the Natural data format, text or list boxes in the Field Definition dialog box may appear/disappear when the format changes.

  4. In the Length text box, enter the internal length of the field which is used by a program that references this field.

    This field is only displayed for Natural data formats F, A, B, I, N, P and U.

    For valid input values, see Format and Length of User-Defined Variables in the Programming Guide.

  5. You can specify the output length to be used when displaying the field by using the following boxes:

    AL For Natural data formats A (alphanumeric) and U (Unicode).

    For valid input values, see the possible settings of the corresponding AL session parameter described in the Parameter Reference documentation.

    NL For Natural data formats B (binary), I (integer), N (numeric) and P (packed numeric).

    For valid input values, see the possible settings of the corresponding NL session parameter described in the Parameter Reference documentation.

    FL For Natural data format F (floating point).

    For valid input values, see the possible settings of the corresponding FL described in the Parameter Reference documentation.

    DF For Natural data format D (date).

    For valid input values, see the possible settings of the corresponding DF session parameter described in the Parameter Reference documentation.

    DL For Natural data formats A (alphanumeric) and U (Unicode). This box can be used to specify the output length for Unicode strings which can require extra space.

    For further information on using this box and valid input values, see the corresponding session parameter DL described in the following documentation:

    For descriptions of all profile and session parameters that can be used to control the output format of fields, see Parameters to Influence the Output of Fields in the Programming Guide.

  6. Select the SG toggle button to specify whether a sign position is to be allowed for the field.

    This field is only displayed for Natural data formats F, I, N and P.

  7. The Rules field displays the number of processing rules that are defined for the data field.

  8. The Mode field displays the current mode of the data field. The following table describes the possible modes.

    Data The field was created by selecting a field from a DEFINE DATA definition.
    Sys The field is a system variable.
    Undef The field was created directly on the screen and has a dummy name.
    User The name of the field was created by changing the field name
    View The field was created by selecting a field from a view (DDM).
  9. Select the Array toggle button to define an array for the data field.

    The Array button is enabled. For more information, see Defining Arrays.

  10. The AD field displays the current attribute definition for the data field. For instructions on modifying attribute definitions, see Defining Field Attributes.

  11. From the PM list box, choose a print mode for the field:

    blank The standard character set is used.
    C An alternative character set is used.
    I Inverse print direction.
    N No hardcopy can be made.

    For further information, see the session parameter PM (Print Mode) in the Parameter Reference documentation.

  12. From the CD list box, choose a color definition for the field content.

    Note:
    You can also define a color for a field by choosing Color from the Field menu.

  13. In the CV text box, you can enter a dynamic field attribute control variable.

    This is the control variable that will contain the attributes to be used for the data field. The variable must be defined with Natural data format C (for attribute control) in the program that references the map.

    The control variable also contains a MODIFIED data tag, which indicates if the field has been modified following map execution. A single control variable can be applied to several map fields, in which case the MODIFIED data tag will be set if any of the fields referencing the control variable have been modified.

    See the Parameter Reference documentation for more information on the CV parameter.

  14. From the Dim list box, you can select the number of dimensions for an array of a control variable. The default is none.

    You must mark the array box in order to specify the control variable as an array.

  15. In the DY text box, enter the dynamic string attributes.

    The dynamic string parameter is used to assign attributes for dynamic attribute field display. See the Parameter Reference documentation for more information on the DY parameter.

  16. Select the ZP toggle button to specify zero printing for the field. If this button is selected, zero values are printed as one zero. If this button is not selected, zero values are suppressed.

    This field is only displayed for Natural data formats F, I, N and P.

  17. In the EM text box, enter the edit mask to be used for the data field.

    See the Parameter Reference documentation for more information on the EM and the EMU parameters.

    Note:
    The edit mask overrides the display length.

  18. In the Helproutine text box, enter the name of a helproutine or help map to be assigned to the map field. The helproutine or help map is then invoked for the map field at execution time when a help request is made for this map field.

    In the Parameters text box, enter the name of the parameter(s) that are to be passed to the helproutine or help map specified in the Helproutine text box. Removing a parameter from the Parameters text box field implies that the parameter is also removed from the map, unless the parameter is a map field or is associated with any other map field as a help parameter or Start From value (see Defining Arrays).

    The syntax that applies to specifying names and parameters in the Helproutine and Parameters text boxes, corresponds to the syntax of the HE session parameter described in HE Parameter Syntax (Parameter Reference documentation). In addition to the syntax explanations provided there, the following applies when using the map editor:

    operand1:

    operand2:

  19. Select the Array toggle button and choose the Array button if you want to define a parameter as an array.

    For additional information, see Defining Arrays.

Defining Selection Boxes

To define a selection box, use the same procedure as described under Defining Data Fields. Note that all variables you define for a selection box must have the same Natural data format.

To define attributes for a selection box, see Defining Field Attributes.

Start of instruction setTo define items for a selection box

  1. Access the Field Definition dialog box for the selection box.

  2. Choose Items.

    The Selection Box Definition dialog box appears. The field name is displayed in the Selection Box field. The existing items are displayed in the Items list box. A default item Item is displayed.

The functions you can execute from the Selection Box Definition dialog box, are described in the following section:

Defining Constant Selection Box Items

Start of instruction setTo add an item constant

  1. Choose Add Constant.

    The Selection Box Item - Constant dialog box appears.

  2. In the Constant text field, enter the name of the new item.

    The length of the constant cannot be longer than the value you specified in the Length list box of the Field Definition dialog box.

  3. Choose OK to define the selection box item.

Defining Variable Selection Box Items

Start of instruction setTo add an item variable

  1. Choose Add Variable.

    The Selection Box Item - Variable dialog box appears.

  2. In the Variable text box, enter the name of the variable to serve as an item.

    The variable must be a valid Natural identifier. The length of the variable value is fixed at the value set for Length in the Field Definition dialog box.

  3. If the variable is an array, you can define the array by choosing Define Array.

  4. Choose OK to define the selection box item.

Importing Selection Box Items

Start of instruction setTo import an item from another object

  1. Choose Import Item.

    The Import Selection Box Item dialog box appears. The name of the current library is displayed in the Library list box.

  2. If the object containing the fields you want to import is located in a different library, open the Library list box and select the library.

  3. From the Type group box, select the type of Natural object from which you want to import fields.

    A list of all Natural objects in the current library of the type you selected appears in the Object list box.

  4. Select the object that contains the fields you want to import.

    The fields in the selected object appear in the Importable Data list box.

  5. Select the fields that you want to import.

  6. Choose Import.

    The dialog box closes and the fields appear at the bottom of the Items box.

Modifying Selection Box Items

Start of instruction setTo modify an item

Removing Selection Box Items

Start of instruction setTo delete an item

Moving Selection Box Items

When you add an item to a selection box, it is placed at the bottom of the Items list box. In most cases, you will want to reorder these items in logical groupings.

Start of instruction setTo move an item to another position in the list box

  1. In the Items list box, select the item to be moved and drag the cursor to the new position.

    A dashed line between items indicates the position to which the item will be moved.

  2. Drop the item in the new position.

    The item is inserted at the new position.

Defining Radio Buttons

To define a radio button, use the same procedure as described under Defining Data Fields. Note that all variables you define for a radio button must have the same Natural data format.

To define attributes for a radio button, see Defining Field Attributes.

Defining Radio Button Contents

Start of instruction setTo define the contents of a radio button

  1. Open the Field Definition dialog box for the required radio button.

  2. Choose Contents.

    The Edit Constant or Variable dialog box appears.

  3. In the Type group box of the Edit Constant or Variable dialog box, specify the following:

    Depending on the type of radio button you want to define, select either the Constant or the Variable radio button.

    In the Name text box, enter the name of the constant or variable. The length of the name must not exceed the length specified in the Length text box.

    For information on naming conventions for constants and variables, see Defining Fields in the Programming Guide.

    If Variable is selected, you can choose the Import command button to import an alphanumeric field from another Natural object.

    For information on how to import variables from other Natural objects, see Importing Fields.

    If Variable is selected and you want to define an array, you can select the Array toggle button and choose the Define command button. For information on how to define an array, see Defining Arrays.

  4. Choose OK when you have finished typing in all items to be defined.

    The Edit Constant or Variable dialog box is closed.

Defining Toggle Buttons

To define a toggle button, use the same procedure as described under Defining Data Fields.

To define attributes for a toggle, see Defining Field Attributes.

Defining a Toggle Button Label

The Natural data format is always L (Logical).

Start of instruction setTo define the label of a toggle button

  1. Access the Field Definition dialog box for the required toggle button.

  2. Choose Label.

    The Edit Constant or Variable dialog box appears.

  3. In the Type group box of the Edit Constant or Variable dialog box, specify the following:

    Depending on the type of toggle button you want to define, select either the Constant or the Variable radio button.

    In the Name text box, enter the name of the constant or variable. The length of the name must not exceed the length specified in the Length text box.

    For information on naming conventions for constants and variables, see Defining Fields in the Programming Guide.

    If Variable is selected, you can choose the Import command button to import an alphanumeric field from another Natural object.

    For information on how to import variables from other Natural objects, see Importing Fields.

  4. If Variable is selected and you want to define an array, you can select the Array toggle button and choose the Define command button. For information on how to define an array, see Defining Arrays.

  5. Choose OK when you have finished typing in all items to be defined.

    The Edit Constant or Variable dialog box is closed.

Defining Menu Items

Start of instruction setTo define items for a menu

The functions you can execute from the Edit Menu dialog box, are described in the following section:

Editing a Menu Name

Start of instruction setTo edit a menu name

  1. From the Edit Menu dialog box, choose Menu Name.

    The Edit Constant or Variable dialog box appears.

  2. In the Type group box, specify whether the menu name is to be a constant or a variable.

  3. In the Name text box, modify the name of the constant or variable. If you want to import a variable from another Natural object, select Variable and choose Import.

    For information on how to import variables from other Natural objects, see Importing Fields.

  4. If the menu is an array, select the Array toggle button and choose Define.

    For information on how to define an array, see Defining Arrays.

  5. Choose OK.

Adding Menu Items

Start of instruction setTo add items to a menu

  1. From the Edit Menu dialog box, choose Add Item.

    The Define Menu Item dialog box appears.

  2. Choose Item Name.

    The Edit Constant or Variable dialog box appears.

  3. In the Type group box, specify whether the menu item is to be a constant or a variable.

  4. In the Name text box, modify the name of the constant or variable. If you want to import a variable from another Natural object, select Variable and choose Import.

    For information on how to import variables from other Natural objects, see Importing Fields.

  5. If the item is an array, select the Array toggle button and choose Define.

    For information on how to define an array, see Defining Arrays.

  6. Choose OK.

    The Define Menu Item dialog box appears.

  7. From the Key name list box, choose a PF-key name for the item.

    PF keys that have already been allocated do not appear in the list box.

  8. Select the Enabled toggle button to permit menu item selection. Otherwise, the menu item cannot be selected.

  9. Choose OK.

    The Edit Menu dialog box appears with the new menu item.

Adding a Submenu

Start of instruction setTo define a submenu for a menu item

  1. From the Edit Menu dialog box, choose Add Submenu.

    The Edit Submenu dialog box appears.

  2. From the Edit Submenu dialog box, choose Submenu Name.

    The Edit Constant or Variable dialog box appears.

  3. In the Type group box, specify whether the submenu name is to be a constant or a variable.

  4. In the Name text box, modify the name of the constant or variable. If you want to import a variable from another Natural object, select Variable and choose Import.

    For information on how to import fields from other Natural objects, see Importing Fields.

  5. If the submenu is an array, select the Array toggle button and choose Define.

    For information on how to define an array, see Defining Arrays.

  6. Choose OK.

    The Edit Submenu dialog box appears.

  7. To add items to the submenu, choose Add Item and follow the instructions under Adding Menu Items.

  8. To add a separator to the submenu, choose Add Separator and follow the instructions under Adding Menu Separators.

  9. To modify a submenu item, choose Modify Item and follow the instructions under Modifying Menu Items.

  10. To remove a submenu item, choose Remove Item and follow the instructions under Removing Menu Items.

  11. Choose OK to complete the submenu definition/modification.

Adding Menu Separators

You can designate logical groupings in your menus or submenus by separating these groupings with horizontal lines.

Start of instruction setTo add a separator to a menu or submenu

  1. From the Edit Menu or Edit Submenu dialog box, choose Add Separator.

    A selected separator is placed behind the last menu item.

  2. Drag the separator to the new position.

    A dashed line between items indicates the position to which the separator will be moved.

  3. Drop the separator in the new position.

    The separator is inserted at the new position.

Modifying Menu Items

Start of instruction setTo modify a menu item

  1. In the Menu Items list box of the Edit Menu dialog box, select the item to be modified and choose Modify Item.

    The Define Menu Item dialog box appears.

  2. Follow the instructions as described in Adding Menu Items.

Moving a Menu Item

When you add an item to a menu or submenu, it is placed at the bottom of the Menu Items list box. In most cases, you will want to reorder these items in logical groupings.

Start of instruction setTo move an item to another position in the list box

  1. In the Menu Items list box of the Edit Menu dialog box, select the menu item to be moved and drag the cursor to the new position.

    A dashed line between items indicates the position to which the item will be moved.

  2. Drop the item in the new position.

    The item is inserted at the new position.

Removing Menu Items

Start of instruction setTo delete a menu item

Defining Push Buttons

Start of instruction setTo define a push button

  1. Double-click on the push button to be defined.

    The Define Push Button dialog box appears.

  2. Choose Edit Label.

    The Edit Constant or Variable dialog box appears.

  3. In the Type group box of the Edit Constant or Variable dialog box, specify the following:

    Depending on the type of push button you want to define, select either the Constant or the Variable radio button.

    In the Name text box, enter the name of the constant or variable. The length of the name must not exceed the length specified in the Length text box.

    For information on naming conventions for constants and variables, see Defining Fields in the Programming Guide.

    If Variable is selected, you can choose the Import command button to import an alphanumeric field from another Natural object.

    For information on how to import variables from other Natural objects, see Importing Fields.

  4. If Variable is selected and you want to define an array, you can select the Array toggle button and choose the Define command button. For information on how to define an array, see Defining Arrays.

  5. Choose OK.

    The Define Push Button dialog box appears.

  6. From the Key name list box, choose a PF-key name for the push button.

    PF keys that have already been allocated do not appear in the list box.

  7. Select the Enabled toggle button to permit push button selection. Otherwise, the push button cannot be selected.

  8. Choose OK.

    The push button is displayed with the new name.

Defining Bitmaps

Start of instruction setTo define a bitmap

  1. Double-click on the bitmap to be defined.

    The Define Bitmap dialog box appears.

  2. Choose Edit Label.

    The Edit Constant or Variable dialog box appears.

  3. In the Type group box, specify whether the bitmap name is to be a constant or a variable.

  4. In the Name text box, modify the name of the constant or variable. If you want to import a variable from another Natural object, select Variable and choose Import.

    For information on how to import variables from other Natural objects, see Importing Fields.

  5. If the bitmap is an array, select the Array toggle button and choose Define.

    For information on how to define an array, see Defining Arrays.

  6. Choose OK.

    The Define Bitmap dialog box appears.

  7. Choose Edit File Name.

    The Edit Constant or Variable dialog box appears.

  8. Repeat Steps 3 to 6.

  9. From the Key name list box, choose a PF-key name for the bitmap.

    PF keys that have already been allocated do not appear in the list box.

  10. Select the Enabled toggle button to permit bitmap selection. Otherwise, the bitmap cannot be selected.

  11. Select the Scale bitmap toggle button to cause the bitmap to be displayed with the size defined by the map. Otherwise, the bitmap is displayed in its original size.

  12. Choose OK.

    The bitmap is displayed with the new name.

Top of page

Defining Field Attributes

Field attributes can be defined for data fields, toggle buttons, radio buttons and selection boxes.

Start of instruction setTo define the attributes for a field

  1. In the Field Definition dialog box of the required field, choose Attributes.

    The Attribute Definitions dialog box appears.

  2. To change the definition for an attribute, open the list box for the attribute and select a different value. A description of the options for each attribute is provided in the following table.

  3. To change the filler character, in the Filler character text box, enter a different character.

    Empty input fields or modifiable output fields are filled with this character. When you edit an input field, which is padded with blanks to its maximum length, it may appear as if the text cannot be edited. In such cases, the blanks must be explicitly deleted from the end of the field.

  4. Choose OK.

Attribute Code Explanation
Field Representation
Blinking B Value is displayed blinking.
Italic C Value is displayed italic/cursive.
Default intensity D Value is displayed with normal intensity.
Intensified I Value is displayed intensified.
Non-display N Value entered in field will not be displayed.
Underlined U Value is displayed underlined.
Reverse video V Value is displayed in reverse video.
Dynamic attributes Y Attributes are controlled via a control variable.
Field Alignment
Left-justified L Value is displayed left-justified.
Right-justified R Value is displayed right-justified.
Leading zeros Z Numeric values are displayed with leading zeros, right-justified.
Field Input/Output Characteristics
Input field, non-protected A Field is an input field and non-protected.
Output field, modifiable M Field is an output field and can be modified.
Output field, protected O Field is an output field and write-protected.
Mandatory Input Characteristics
Input mandatory E Value must be entered in field. Only relevant for input-only fields (AD=A).
Input optional F Value can, but need not, be entered in the field.
Length of Input Value Characteristics
Fixed input length G Value entered in field must have same length as field. Only relevant for input-only fields.
Variable input length H Value entered in field can be shorter than field.
Field Upper/Lower Case Characteristics
Translate to upper T Value entered is translated to upper case.
Accept lower case W Lower-case values are to be accepted.

Top of page

Defining Arrays

You can define an array of up to three dimensions for a data field. The order in which the dimensions of the array are mapped to the map layout is determined by the values you enter.

Note:
The map editor does not support X-arrays (eXtensible arrays).

The Array command button is inactive unless the Array toggle button is selected.

Start of instruction setTo define an array and its dimensions for a data field

  1. Choose Array.

    The Define Map Array dialog box appears.

  2. From the Dimensions list box, select the number of dimensions for the array.

    The default number of dimensions is 1. Text boxes appear for the number of dimensions specified.

  3. In the Line spacing text box, enter the number of blank lines to be inserted horizontally between each dimension occurrence in the array.

  4. In the Column spacing text box, enter the number of blank columns to be inserted vertically between each dimension occurrence in the array.

  5. For a field defined as a three-dimensional array the Cls/Ls text box is displayed. Enter the number of blank lines to be inserted vertically or columns to be inserted horizontally between dimensions 1, 2, or 3, depending on the layout definition for dimension 3.

    The values specified in the Layout list boxes determine in which direction each of the dimensions are painted in the edit area of the map. (V = vertical, H = horizontal, VD/HD = vertical/horizontal, position of third dimension)

  6. In the Start from text box, enter the starting index value for each dimension.

    You can enter a number or the name of a variable; the actual value is supplied in the program that invokes the map definition. Unless defined otherwise as a field in the map, the variable is assumed to be defined as Natural data format/length N7.

    Note:
    Removing a Start from value from an array implies that the variable is removed from the map, too, unless it is a map field or it is associated to any other map field as a Start from value or help parameter.

  7. In the Upper bounds text box, enter a value for each dimension.

    This number is the highest occurrence of the first, second and third dimension. A field defined in a program (a user-defined variable or a database field) can be imported to define the map array. In this case, the upper bounds of the field, as defined in the program, are used. All values can be overwritten for imported data fields. However, when you choose OK in the Field Definition dialog box, you are asked if you really want to change an imported field's definition.

    If the array is initially defined in the map, the number of occurrences defined for the vertical, horizontal and fixed indexes sets the upper bounds.

  8. In the Occurrences text box, enter a value for each dimension.

    This is the number of occurrences that will be displayed on the map. This does not apply to the third dimension of a 3-dimensional array because only two ranges of occurrences can be displayed on the screen. One-dimensional arrays can be displayed as multi-line/multi-column fields. For these arrays, the second number of occurrences and the layout for the second dimension can be defined.

  9. From the Layout list box, select a layout value for each dimension.

    Layout values determine the axis assumed by each dimension of the array. This determines how the array is represented in the map layout. For arrays of one and two dimensions, the only possible values are H (horizontal axis) and V (vertical axis). For arrays with three dimensions, you must decide how the third dimension will be represented. The options are HD (horizontally detached) or VD (vertically detached). The dimension specified as HD or VD is represented by members, which are grouped in a horizontal or vertical orientation.

  10. Choose OK.

    The array is defined and you are returned to the Field Definition dialog box.

When defining multi-dimensional arrays, note that the defaults for the first and second dimensions have been reversed, which means that horizontal will be vertical and vice versa; in addition, the first and second dimensions can now also be specified as "fixed"; the third dimension is still "fixed" by default.

Changing the Number of Displayed Occurrences in an Array

Once you have defined an array, you can use the mouse to graphically modify the number of displayed occurrences and, indirectly, the upper bounds without accessing the Define Map Array dialog box.

Start of instruction setTo modify the number of displayed occurrences and/or upper bounds for an array

  1. Place the mouse pointer on one of the four corner field handles.

  2. Drag the mouse to increase/decrease the number of elements in the array.

    During resizing, a dotted outline indicates the intended modification.

  3. When you have reached the required size for the array, release the mouse button.

    If you increase the number of displayed occurrences for a dimension beyond the upper bound, then the upper bound is automatically increased as well. If you decrease the number of displayed occurrences for a dimension, the upper bound remains at its previous value.

Top of page

Modifying Field Colors and Representation

For any text constant, data field, toggle button, radio button or selection box you can specify a color and a display style for its name.

Start of instruction setTo define the color and/or representation for a field

  1. In the map editor, select the required field.

  2. From the Field menu, choose Color.

    Or:
    Click the Field Color toolbar button.

    The Field Color and Representation dialog box appears.

  3. From the Color Selection group, select a color.

  4. From the Field Representation group, select an option.

  5. Choose OK.

Top of page

Using Field Rules

Field rules can be defined for any data field, toggle button, radio button or selection box. A field can have up to 100 processing rules (ranked 0 - 99). At map execution time, the processing rules are executed in ascending order, first by rank, then by screen position of the field.

For optimum performance, the following assignments are recommended when assigning ranks to processing rules:

Rank Processing Rule
0 Termination rule
1 - 4 Automatic rules
5 - 24 Format checking
25 - 44 Value checking for individual fields
45 - 64 Value cross-checking between fields
65 - 84 Database access
85 - 99 Special purpose

Processing rules can be defined as either inline processing rules or Predict free rules.

Inline processing rules are rules that are defined within a map source and do not have a name assigned.

An ampersand (&) within the source code of a processing rule is dynamically replaced by the fully-qualified name of the field for which the rule is defined. Array indexes are not affected by the replacement; you must explicitly specify the index notation after the ampersand (&) as shown in the following example.

Examples:

IF &    = ' ' THEN REINPUT 'ENTER NAME' MARK *&   /* For a scalar field
IF &(1) = ' ' THEN MOVE 'X' TO &(*)               /* For an array field

The field name notation &.field-name within the source code of a processing rule allows you to have DDM-specific rules that cross-check the integrity of values between database fields, without having to explicitly qualify the fields with a view name. As field-name you specify the name of the database field as defined in the DDM, and at compilation time, Natural dynamically qualifies the field by replacing the ampersand (&) with the corresponding view name. This allows you to use the same processing rule for specific fields, regardless of which view the fields are taken from.

You can access Predict free rules that are stored in either a local or a remote Predict environment located on a UNIX, Windows, OpenVMS or mainframe computer.

Predict free rules that are stored in a remote environment on a UNIX, Windows, OpenVMS or mainframe host can also be accessed by using a Natural RPC server.

For information on how to connect to a Predict server, see the profile parameter USEDIC (Parameter Reference documentation) and Dictionary Server Assignments in the section Overview of Configuration File (Configuration Utility documentation).

Note:
When modifying or adding a processing rule, keep in mind that you must recatalog the map(s) that reference this rule so that the changes become effective.

This section covers the following topics:

Creating Field Rules

Start of instruction setTo create a field rule

  1. Select the map field for which you want to create a field rule.

  2. From the Field menu, choose Rules.

    The Field Rule dialog box appears.

  3. From the Field Rule dialog box, choose Create.

    The program editor appears.

  4. Enter the rule.

  5. When you are finished, save the rule by choosing Save from the Object menu.

    The Rule Selection dialog box appears.

  6. From the Rank list box, select a rank number.

  7. Choose OK.

  8. Close the program editor.

Copying Field Rules

Start of instruction setTo copy a field rule

  1. Select the map field containing the field rule to be copied.

  2. From the Field menu, choose Rules.

    The Field Rules dialog box appears.

  3. From the Ranks list box, select the number of the rule to be copied.

  4. Choose Copy.

    The Rule Selection dialog box appears.

  5. From the Rank list box, select a rank for the new rule.

  6. Choose OK.

    If you chose the rank number of an existing rule, then you are asked whether you want to overwrite the rule. Otherwise, the rule is copied and the Field Rules dialog box is redisplayed. The rule is displayed in the Rule Text Fragment box.

Editing Field Rules

Start of instruction setTo edit a field rule

  1. Select the map field containing the field rule to be edited.

  2. From the Field menu, choose Rules.

    The Field Rules dialog box appears.

  3. From the Ranks list box, select the rank number of the rule to be edited.

  4. Choose Edit.

    The program editor appears.

  5. Edit the rule.

  6. When you are finished, save the rule by choosing Save from the Object menu.

  7. Close the program editor.

Changing Field Rule Ranks

Start of instruction setTo change the rank of a field rule

  1. Select the map field containing the field rule to be modified.

  2. From the Field menu, choose Rules.

    The Field Rule dialog box appears.

  3. In the Ranks list box, select the rank number of the rule to be reranked.

  4. Choose Move.

    The Rule Selection dialog box appears.

  5. In the Rank list box, select another rank for the rule.

  6. Choose OK.

Unlinking or Deleting Field Rules

Unlinking is the same as deleting a field rule.

Start of instruction setTo delete a field rule

  1. Select the map field containing the field rule to be deleted.

  2. From the Field menu, choose Rules.

    The Field Rule dialog box appears.

  3. In the Ranks list box, select the rank number of the rule to be deleted.

  4. Choose Unlink.

    You are asked if you really want to unlink (delete) the field rule.

  5. Choose Yes to delete the field rule.

Linking Predict Free Rules

Start of instruction setTo link a free rule to a selected field

  1. Select the map field to which you want to assign a Predict free rule.

  2. From the Field menu, choose Rules.

    The Field Rule dialog box appears.

  3. Choose Free Rule.

    Since free rules cannot be created but only selected, the Create command button changes to Select.

  4. Choose Select.

    The Free Rule Selection dialog box appears.

  5. Enter the rule name, the Predict owner and up to five keywords under which the rule is stored in Predict.

    Asterisk notation can be used for the rule name, the keywords can be combined with the Boolean operators AND and OR, and a BUT NOT keyword can be specified, too.

  6. Choose OK.

    A list of free rules is displayed, from which you can select the rule(s) you want to link to the field.

    Choose Read Source to read the source code into the Free Rule Text Fragment information box of a selected rule.

  7. Choose OK.

    With each selected rule, you are asked to assign a rank.

  8. Specify a rule rank.

    The rule is now linked to the field. At this point, you can convert a linked free rule into an inline rule as described in Converting Predict Free Rules to Inline Rules.

Converting Predict Free Rules to Inline Rules

Start of instruction setTo convert a linked Predict free rule to an inline rule

  1. From the Field menu, choose Rules.

    The Field Rule dialog box appears.

  2. Select the rank of the free rule you want to convert.

    The Free rule toggle button is selected and the free rule appears in the Rule Text Fragment information box.

  3. Deselect the Free rule toggle button.

    A message box appears asking you whether you want to change the rule type to inline.

  4. Choose OK.

    The free rule becomes an inline rule and its source code is displayed in the Rule Text Fragment information box.

Defining Key Rules

The PF-Key Rules function allows you to create, edit, move, copy and unlink (delete) function-key related processing rules for the active map. Key rules also can be defined as either inline processing rules or Predict free rules.

Key rules can be used to assign activities to program sensitive function keys during map processing. For function keys that already have a command assigned by the program, this command is executed without any rule processing.

Example:

IF *PF-KEY = 'PF3' ESCAPE ROUTINE END-IF

When this rule is executed, map processing is terminated without further rule processing.

Start of instruction setTo create, copy, and edit function key rules

Top of page

Defining Data Areas for Maps

You can define a local data area for a map to define variables to be used for map processing rules. You can define a parameter data area for a map to define the parameters that can be received from programs.

The procedures for defining, modifying, and deleting local and parameter data elements are virtually identical and are therefore explained generically in the following section.

Defining a Data Element

Start of instruction setTo define a data element for a map

  1. From the Map menu, choose Local Data or Parameter Data.

    The Define Local/Parameter Data dialog box appears.

  2. Choose Add to add a data definition.

    The Data Definition dialog box appears.

  3. In the Name text box, enter the name of the data element to be defined.

  4. From the Format drop-down list box, select a Natural data format.

  5. If you selected Natural data format A, B, F, I, N or U, in the Length box, enter the field length.

  6. If the data element is an array, in the Dimensions text box, select the number of dimensions (1 - 3).

    The Lower bounds and Upper bounds text boxes appear for each dimension.

  7. Enter the lower bound and upper bound for each dimension in the array.

  8. Choose OK.

    The Define Local/Parameter Data dialog box appears. The data element is displayed in the information box.

Modifying a Data Element

Start of instruction set To modify a data element for a map

  1. From the Map menu, choose Local Data or Parameter Data.

    The Define Local/Parameter Data dialog box appears.

  2. In the information box, select the data element to be modified.

  3. Choose Modify to modify the data definition.

    The Data Definition dialog box appears.

  4. Modify the data definition as required.

  5. Choose OK.

    The Define Local/Parameter Data dialog box appears. The modified data element is displayed in the information box.

Removing a Data Element

Start of instruction setTo delete a data element for a map

  1. From the Map menu, choose Local Data or Parameter Data.

    The Define Local/Parameter Data dialog box appears.

  2. In the information box, select the data element to be deleted.

  3. Choose Remove to delete the data definition.

    The data definition is removed from the information box.

  4. Choose OK.

Top of page

Testing Maps

Once you have created and successfully saved a map, you can test it so see how it will appear in an application.

Start of instruction set To test a map

  1. Open the map to be tested.

  2. From the Object menu, choose Test.

    The Natural output window is opened and the map appears as it would in the application.

  3. Double-click on the output window or press ENTER or ESC to return to the map editor.

Top of page

Previewing Maps

Maps that are larger than the area shown in the map editor window can be scrolled using the scroll bars on the right, and at the bottom of the map editor window. Extremely large maps can be displayed in the map editor window by using the Preview Mode function.

When preview mode is active, the display size of the map fields is reduced so that the entire map fits into the map editor window. All map editor functions work normally when preview mode is in effect.

Start of instruction setTo display a map in preview mode

Top of page

Reversing Maps

You can toggle the screen direction of the active map from left-to-right to right-to-left, or vice versa. This is only a visual change; the physical field position defined in the map source is retained.

See also Bidirectional Language Support in the Unicode and Code Page Support documentation.

Start of instruction setTo reverse the screen direction of a map

Example:

The default screen (left-to-right) of a map looks as follows:

graphics/map_win_rev1.png

The reversed screen (right-to-left) of this map looks as follows:

graphics/map_win_rev2.png

Top of page

Modifying the Map Profile

With the map profile, you set the profile parameters for the active map. These parameters are saved with the map.

Start of instruction setTo set profile parameters

  1. From the Map menu, choose Map Profile.

    The SYSPROF - Map Editor Profile dialog box appears.

  2. Set profile parameters. Each parameter is described in the table below.

  3. Choose OK to save the profile for the active map.

Map editor profile option settings are described in the following table.

Note:
The settings for Zero printing and Upper case are copied into the field definition when a new field is created. These settings can be modified for each new field.

Option Explanation
Format group box:
Page size The number of map lines to be edited (1 - 250). If Standard keys is selected, the number of lines is restricted to the range 3 - 250. For a map that is output with a WRITE statement, specify the number of lines of the logical page output, not the map size. The map can then be output several times on one page.
Line size The number of map columns (5 - 249).
Column shift

Only available in a mapped mainframe environment.

Column shift (0 or 1) to be applied to the map. This feature can be used to address all 80 columns on a 80-column screen (Column shift = 1, Line size = 80).
Layout The name of the map that serves as standard layout for the current map. You can use this option to simplify the creation of many similar maps by creating one map as the basic layout map with a set of fields to be used by the other fields. In all similar maps, you specify the name of the standard layout map and you only add the fields that are specific to the new map. See also the Dynamic layout option below.
Decimal char. The character to be used as the decimal notation character; the default character is a period (.). You can change the default decimal character with either of the following methods:
  • Use Tools > Session Parameter as described in Using Session Parameters (Using Natural Studio documentation).

  • Use the GLOBALS system command as described in the System Commands documentation.

Print mode
The default print mode for variables. This value is copied into the field definition when a new field is created.

Possible settings are:

 
blank The standard character set is used (this is the default setting).
 
C An alternative character set is to be used.
 
I Inverse print direction.
 
N No hardcopy of the display can be made.
Control var. The name of an attribute control variable, the content of which determines the attribute characteristics of fields and texts that have the attribute definition AD=Y. The attribute control variable referenced in the map must be defined in the program using that map.

Removing an attribute control variable from the map editor profile implies that the attribute control variable is removed from the map, too, unless it is associated to any other map field.

Standard keys When you select this check box, the last two lines of the map remain empty so that function key specifications can be entered at execution time.

When you clear this check box, all lines are used for the map.

Upper case When you select this check box, input is converted to upper case during map execution.

When you clear this check box, input is not converted to upper case during map execution.

Field sensitive When you select this check box, the consistency check for a map field is made as soon as the field is filled by the user.

When you clear this check box, field checking is performed when the map is filled completely.

Dynamic layout If you have specified the name of a standard layout map in the Layout text box, you select this check box to determine that fields are imported dynamically into the layout at runtime. This means that you can alter your standard layout and this change will automatically be reflected in all similar maps using this layout.

When you clear this check box, the standard layout is not used dynamically.

Zero printing When you select this check box, numeric fields that contain all zeroes (print one zero, right-justified) are printed.

When you clear this check box, the printing of numeric fields that contain all zeroes is suppressed.

Right justified When you select this check box, numeric and alphanumeric fields copied from data definitions in other Natural objects are right-justified.

When you clear this check box, numeric and alphanumeric fields copied from data definitions in other Natural objects are not right justified.

Manual skip When you select this check box, the cursor is not moved automatically to the next field in the map at execution time, even if the current field is completely filled.

When you clear this check box, the cursor is moved automatically to the next field in the map at execution time.

Context group box:
Device check A device name can be viewed in this field.
WRITE statement When you select this check box, the result of the map definition process is a WRITE statement and the resulting (output) map can be invoked from a program using a WRITE USING FORM statement. Empty lines at the end of the map are automatically deleted so that the map can be output several times on one page.

When you clear this check box, the result of the map definition process is an INPUT statement and the resulting map can be invoked from a program using an INPUT statement.

Helproutine The name of the helproutine or help map that is called at execution time when the help function is invoked for this map (global help for the map). The syntax that applies to entering values in the Helproutine text box corresponds to the syntax of the HE session parameter described in HE Parameter Syntax (Parameter Reference documentation).
Parameters Parameters can only be defined if a helproutine or a help map is specified in the Helproutine text box.

Enter the name of the parameter(s) that will be called at execution time when the help function is invoked. The syntax that applies to entering values in the Parameters text box corresponds to the syntax of the HE session parameter described in HE Parameter Syntax (Parameter Reference documentation).

Note:
If the combined length of the name entered in Helproutine and Parameters exceeds 19 characters, the map editor truncates it.

As field default Only applies if the Helproutine text box is filled.

When you select this check box, the helproutine or help map specified for the map applies as the default to each individual field on the map, that is, the name of each field is passed individually to the helproutine or help map. This option can only be chosen if a helproutine or a help map is specified in the Helproutine text box.

When you clear this check box, the name of the map is passed to the helproutine or help map specified in the Helproutine text box.

Position line The position (line, vertical) where the specified help map is being output.
Column The position (column, horizontal) where the specified help map is being output.
Help text When you select this check box, the map is marked as help text.

When you clear this check box, the map is not marked as help text.

AutoRuleRank The rank (priority) assigned to Predict automatic rules when they are linked to the map during field definition. Default is 1.
Filler characters group box:
Optional, partial Indicates that a field is optional and can be partially filled.
Optional, complete Indicates that a field is optional but must be filled completely if it is used.
Required, partial Indicates that a field is required but can be partially filled.
Required, complete

Indicates that a field is required and must be filled completely.

Note:
If you enter a field using the mouse, the cursor will be placed to the right of the filler character. The filler character is blank by default, and the field appears to be not modifiable. Press BACKSPACE to delete the blank, and enter a new filler character.

Top of page

Saving and Cataloging Maps

You can save a map definition as a source object and/or a cataloged object (generated program) in the current Natural library in the current Natural system file.

For the naming conventions that apply to an object, refer to Object Naming Conventions in the Using Natural Studio documentation.

Start of instruction setTo save a map as a source object

Start of instruction setTo save a map as a source object and/or a cataloged object

Top of page