Editors - General Information

#### Search Results

Search

# Editors - General Information

This section gives an overview of which Natural objects are edited with which Natural editor. In addition, it contains information on split-screen mode and the editor profile.

You invoke a Natural editor with the system command `EDIT` as described in the System Commands documentation and in Creating and Editing an Object in the Using Natural documentation. For the names to be used when editing or saving an object, see Object Naming Conventions in the Using Natural documentation.

Which editor is invoked depends on the type of object you want to edit:

- Programs, subprograms, subroutines, helproutines, classes, copycode, text objects and functions are created and edited in the program editor.

- Global data areas, local data areas and parameter data areas are created and edited in the data area editor.

- Maps and help maps are created and edited in the map editor.

- Predict descriptions are edited in the Predict description editor (see the Predict documentation).

Note
The Natural program, data area, and map editor have been disabled in your environment by default. For more information, see NaturalONE as the Default Development Environment .

An online help system is provided with each editor.

Tutorials which introduce you to the main features of the editors are provided in First Steps and in the Map Editor Tutorial.

In addition to the Natural editors, the Software AG Editor is used by several Natural utilities and other products. You can also use the Software AG Editor as an alternative to the Natural program editor.

This section covers the following topics:

- Split-Screen Mode

- Editor Profile

## Split-Screen Mode

You can use all three Natural editors in split-screen mode: you can use one half of the screen for editing an object and at the same time have another Natural object displayed in the other half. Split-screen mode can be used to display a view (DDM; Data Definition Module), a data area, a Predict program description or a Natural program in the lower half of the screen. In addition, you can include items shown in the display section of the screen into the editing section that is, into the object you are currently editing.

#### Example:

The following figure shows the program editor in split-screen mode with the source code of a program in the editing section (upper half) and a local data area in the display section (lower half):

    >                                       > +  Program     SAGDEMO  Lib SAGTEST

       Top    ....+....1....+....2....+....3....+....4....+....5....+....6....+....7.
         0010 DEFINE DATA LOCAL USING L-INVOIC
         0020             LOCAL USING L-INV-LN
         0030 END-DEFINE
         0040 *
         0050 READ INVOICE-VIEW BY INVOICE-NO FROM 1
         0060 *
         0070   FIND INVOICE-LINE-VIEW WITH INVOICE-NO = INVOICE-NO (0050)
         0080     DELETE
         0090   END-FINE
         0100 *
              ....+....1....+....2....+....3....+....4....+....5....+.. S 16   L 1
       Split All       Local       L-INVOIC  Library SAGTEST
         0010 V 1 INVOICE-VIEW                          INVOICE
         0020   2 CUST-NO                         N   8
         0030   2 INVOICE-NO                      N   8
         0040   2 DATE                            A   8
         0050   2 AMOUNT                          N 9.2
         0000
         0000
         0000
         0000

### Split-Screen Commands

The following commands can be used to display and position an object in split-screen mode when using the program editor or the data area editor. For instructions on displaying objects in split-screen mode with the map editor, see Selecting Data Definitions in the Map Editor documentation.

All commands begin with an `S` or with `SPLIT` to indicate split screen mode. The `SPLIT` command is a cursor-sensitive command as described in the section Program Editor.

In the following table, an underlined text portion represents an acceptable command abbreviation.

Command | Function
--- | ---
`SPLIT ++` | Position to bottom of object.
`SPLIT B`
`SPLIT --` | Position to top of object.
`SPLIT T`
`SPLIT +` | Position one page forwards.
`SPLIT +P`
`SPLIT -` | Position one page backwards.
`SPLIT -P`
`SPLIT +nnn` | Position nnn lines forwards. This function only applies to the program editor.
`SPLIT -nnn` | Position nnn lines backwards. This function only applies to the program editor.
`SPLIT .` or `SPLIT END` | Terminate split-screen mode.
`SPLIT 7 function-name [library]` | Display function. function-name is the name of the function as used in the `DEFINE FUNCTION` statement (not the object name of the function). This function only applies to the program editor.
`SPLIT CLASS class-name [library]` | Display class. class-name is the name of the class as used in the `DEFINE CLASS` statement (not the object name of the class). This function only applies to the program editor.
`SPLIT DATA name [library]` | Display data area (global, local, parameter). In the data area editor, you can use asterisk (*) notation for name to display a list of the specified object range.
`SPLIT DESCRIPTION program-name [library]` | Display the Predict description from the Predict Data Dictionary for the specified program-name.
`SPLIT FUNCTION subroutine-name [library]` | Display subroutine. subroutine-name is the name of the subroutine as used in the `DEFINE SUBROUTINE` statement (not the object name of the subroutine). This function only applies to the program editor.
`SPLIT PROGRAM name [library]` | Display program, subprogram, subroutine, helproutine, copycode, text, map, class, Natural command processor, recording, adapter, dialog, function or resource. In the data area editor, you can use asterisk (*) notation for name to display a list of the specified object range.
`SPLIT SCAN [scan-value]` | Scan source code. scan-value is the character string to be found in the current source code. Each line containing the scan-value is marked with a greater than (>) sign. To further scan for the same scan-value, enter `S SC` only.
`SPLIT VIEW name [SHORT]` | Display view (DDM, as defined in Predict or SYSDDM). If `SHORT` is specified, the DDM is listed in short form (that is, only the Adabas short names and corresponding Natural field names are displayed) without any field header or field edit mask information. In the data area editor, you can use asterisk (*) notation for name to display a list of the specified object range.
`SPLIT` | Display previous object. If `SPLIT` is entered without any parameter, the source of the object previously displayed in the split-screen area is displayed again. This applies for the duration of the current editor session. This function only applies to the program editor.

name is the name of the object as contained in the Natural library and/or the Natural system file.

A library can be specified with the program editor only. Under Natural Security, a library cannot be specified.

## Editor Profile

The Natural program editor and data area editor provide an editor profile, which determines the settings to be in effect during the current program editor or data area session. Editor profile settings are, for example, the standard assignment of PF and PA keys. You can define your own editor profile settings according to your preferences.

This section covers the following topics:

- Invoking the Editor Profile

- Editor Profile Screen

- Additional Options

- Editor Defaults

- General Defaults

- Color Definitions

- Direct Commands

- Exit Profile Maintenance

### Invoking the Editor Profile

To invoke your current editor profile

- In the command line of the program editor or data area editor, enter the following:

      PROFILE

  An Editor Profile screen similar to the example below appears:

      11:06:16                 ***** NATURAL EDITORS *****                 2010-11-22
                                   - Editor Profile -

      Profile Name .. SAG_____

      PF and PA Keys
        PF1 ... HELP___________   PF2 ... _______________   PF3 ... EXIT___________
        PF4 ... _______________   PF5 ... _______________   PF6 ... _______________
        PF7 ... -______________   PF8 ... +______________   PF9 ... _______________
        PF10 .. SC=____________   PF11 .. _______________   PF12 .. CANCEL_________
        PF13 .. _______________   PF14 .. _______________   PF15 .. MENU___________
        PF16 .. _______________   PF17 .. _______________   PF18 .. SCAN___________
        PF19 .. --_____________   PF20 .. ++_____________   PF21 .. _______________
        PF22 .. _______________   PF23 .. _______________   PF24 .. _______________
        PA1 ... _______________   PA2 ... SCAN___________   PA3 ... _______________

      Automatic Functions
        Auto Renumber .. Y   Auto Save Numbers .. 0__   Source Save into .. EDITWORK

      Additional Options .. N
      Command ===>

      Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
            Help        Exit  AddOp Save  Reset                         Del   Canc

  The screen displays your own editor profile if an individual profile exists for your user ID as described for the field Profile Name. If such a profile does not exist, the default profile `SYSTEM` is displayed instead. The `SYSTEM` profile is read from the user exit routine USR0070P (see the Operations documentation).

To invoke a specific editor profile

- In the command line of the program editor or data area editor, enter the following:

      PROFILE profile-name

  where profile-name denotes a valid user ID or `SYSTEM`.

  When you are in an editor session and enter the `PROFILE` command together with your own user ID as profile name, your profile is always invoked directly from the database; any modifications made during the current editor session, but not yet saved in the database, will not apply. Therefore, to invoke your current editor profile, enter the `PROFILE` command only.

Caution
Any changes to the current editor profile are lost when you enter the `LOGON` system command or open another editor prior to saving the changes to the database.

### Editor Profile Screen

This section describes the items contained on the Editor Profile screen.

Item | Explanation
--- | ---
Profile Name | The name of the editor profile. Your own editor profile is displayed. If such a profile does not exist, you can modify the default profile to suit your own requirements. To do so, overwrite the profile name `SYSTEM` with your user ID and save the renamed profile to the database. If you overwrite the name of your profile with any other valid profile name (that is, any other valid user ID) and press ENTER, the profile of the corresponding user is invoked. Only one profile can be established per user ID, and any modifications made to another user's profile are only valid for the current editor session; they cannot be saved to the database. You can, however, overwrite the profile name of another user's profile with your own user ID and then save the renamed profile in the database.
PF and PA Keys | The commands assigned to the PF and PA keys are displayed. Any Natural editor or system command can be assigned. Combinations of commands (separated by a comma) are also possible.
Auto Renumber | `Y` indicates that the source code in the program editor is to be renumbered automatically if any of the following occurs: A `CATALOG`, `CHECK`, `RUN`, `SAVE` or `STOW` command is issued. A `.I` line command is issued and no line number is available for the line to be inserted. Note See also Renumbering of Source-Code Line Number References in the Programming Guide.
Auto Save Numbers | If a numeric value is entered, a copy of the current source is saved automatically into the source object specified in the Source Save into field after the specified number of modifications have taken place. Modification means each time that the source has been changed as a result of information entered on the screen. Auto Save Numbers applies to the map editor, too.
Source Save into | The name of the source object into which a copy of the source is to be saved automatically in the current library. The default name `EDITWORK` can be modified. The specified source object is overwritten each time the number of changes specified in the Auto Save Numbers field has been exceeded.
Additional Options | `Y` opens a list of additional options described in the following section.

### Additional Options

The Additional Options window provides the following:

- Editor Defaults

- General Defaults

- Color Definitions

A plus (+) sign in front of an option indicates that some values have already been set in the corresponding window or with an appropriate editor command.

Enter a `Y` to select the required option.

All options are explained in the following section.

### Editor Defaults

Option | Explanation
--- | ---
Escape Character for Line Command | The escape character which must precede each line command; the default escape character is a period (.).
Empty Line Suppression |
This option applies when inserting lines into the source of an object (except text objects) by using the line command `.I` as described in Program Editor and Data Area Editor. Possible option settings:
`Y` | Any lines left blank are removed from the source as soon as you press ENTER. This is the default setting.
`N` | Any lines left blank are not removed from the source when you press ENTER.
Empty Line Suppression for Text |
This option applies when inserting lines into the source of a text object by using the line command `.I` as described in Program Editor. Possible option settings:
`Y` | Any lines left blank are removed from the source as soon as you press ENTER.
`N` | Any lines left blank are not removed from the source when you press ENTER. This is the default setting.
Source Size Information |
`Y` | The actual size of the object being edited and the remaining space available is displayed in the bottom information line of the editor screen. In addition, in the program editor, the programming mode (reporting or structured) is displayed in the top information line of the editor screen.
`N` | No such information is displayed.
Source Status Message |
`Y` | Program editor: A transaction message is displayed in the top information line each time the source is modified, checked, saved, cataloged or stowed. In addition, an asterisk (*) is displayed in the editor command line if the source contains unsaved modifications. For details, see Modification Indicator in the Program Editor documentation. Data area editor: An asterisk (*) is displayed in the top information line if the source contains unsaved modifications. For details, see Modification Indicator in the Data Area Editor documentation.
`N` | No transaction message and/or asterisk (*) is displayed.
Absolute Mode for SCAN/CHANGE |
This option applies when entering the editor command `SCAN` or `CHANGE`.
`Y` | Corresponds to the editor command `SET ABS ON`.
`N` | Corresponds to the editor command `SET ABS OFF`.
See also Editor Commands in the sections Program Editor and Data Area Editor.
Range Mode for SCAN/CHANGE |
This option applies when entering the editor command `SCAN` or `CHANGE`.
`Y` | Corresponds to the editor command `SET RANGE ON`.
`N` | Corresponds to the editor command `SET RANGE OFF`.
See also Editor Commands in the section Program Editor.
Ignore Case Mode for SCAN/CHANGE |
This option applies when entering the editor command `SCAN` or `CHANGE`.
This option is relevant only if the option Editing in Lower Case is set to Y, meaning that the scanned value can be entered in upper and lower-case characters.
`Y` | Corresponds to the editor command `SET IGNORECASE ON` which means that any combination of upper and lower-case scan value will be found.
`N` | Corresponds to the editor command `SET IGNORECASE OFF` which means that only the exact scan value will be found.
See also Editor Commands in the section Program Editor.
Direction Indicator | Indicates the direction (`+` or `-`) in which several editor commands are to work (see also Editor Command Line in the sections Program Editor and Data Area Editor).
Numeric Input as Line Number |
Determines whether numeric input in the first four positions of a source line changes the line number when you press `ENTER`. Input is then not accepted as text.
`Y` | Numeric input is accepted as a source line number. Corresponds to the editor command `SET SEQ OFF`.
`N` | Numeric input is accepted as text. Corresponds to the editor command `SET SEQ ON`.
See also Editor Commands in the section Program Editor.

### General Defaults

Option | Explanation
--- | ---
Editing in Lower Case |
`Y` | Lower-case characters in the source code are not automatically converted to upper case.
`N` | Lower-case characters in the source code are automatically converted to upper case. Automatic conversion is in effect by default.
Caution Do not use the terminal commands `%L` or `%U` within the editor.
Dynamic Conversion of Lower Case |
This option is relevant only if the above option is set to `Y`.
`Y` | All lower-case characters in the source code are automatically converted to upper case except text strings that are enclosed in apostrophes; text strings that are enclosed in quotation marks; comments. These remain as you enter them (see also the section Program Editor).
`N` | Any source code remains as you enter it.
Position of Message Line | Indicates the position of the message line; possible values are `TOP`, `BOT`, `nn` and `-nn`.
Cursor Position in Command Line |
`Y` | Indicates that the cursor is positioned in the edit command line after the source has been modified and you pressed ENTER.
`N` | The cursor remains in the source area line after the source has been modified and you pressed `ENTER`.
Stay on Current Screen |
Determines whether the current screen stays when you press ENTER.
`Y` | Corresponds to the editor command `SET STAY ON`.
`N` | Corresponds to the editor command `SET STAY OFF`.
See Editor Commands in the sections Program Editor and Data Area Editor.
Prompt Window for Exit Function |
`Y` | When you enter the `EXIT` command in the editor command line, a confirmation window is displayed (see also Exit Function in the sections Program Editor and Data Area Editor).
ISPF Editor as Program Editor |
`Y` | Natural ISPF (if installed) is invoked instead of the Natural program editor.
Leave Editor with Unlock |
`Y` | Unlocks source code when leaving the editor.
`N` | Leaves the editor (default setting).
`C` | Unlocks source code and clears the source work area when leaving the editor.
For more information on locking, see the section Locking of Source Objects.

### Color Definitions

In this window, you can specify the colors in which the various elements of the edit-work and split-screen area of your program or data area editor are to be displayed.

For a list of valid colors and color codes, enter a question mark (?) in any input field or press PF1.

Item | Description
--- | ---
Command Line | Editor command line above the edit-work area.
Label Indicator | Leftmost column of the editor screen; used, for example, to label a source code line on which a certain command has been performed (for example, the `.X` and `.Y` line commands).
Line Numbers | Column of the source code line numbers (program editor only).
Editor Lines | Lines of source code currently in the editing area and/or split-screen area.
Scan and Error Line | All lines marked with an `S` (or a greater than (>) sign in split-screen mode) as a result of a scan operation, any line where an error was detected (marked with an `E` and applicable in the editing area of the program editor only), and the error message line itself.
Information Text | All fields in the information or command line with general information such as the type of object (for example, `Program`) currently in the editing area.
Information Value | All fields in the information or command line with user-specific information such as the name of the object currently in the editing area.
Information Line | Top and bottom information lines on the editor screen.

### Direct Commands

The following direct commands and corresponding PF keys are provided on the Editor Profile screen. A direct command is entered in the command line of the screen.

Command | Description
--- | ---
`RESET` | This command (or PF6) resets all profile parameters to the settings displayed when the Editor Profile screen was last opened or when the editor profile was last saved to the database. `RESET` only applies to the parameter settings of the current editor profile; the editor profile saved in the database is not affected by the command.
`SAVE` | This command (or PF5) saves all current editor profile settings both for the current editor session and in the database. `SAVE` does not terminate the profile maintenance function.
`DELETE` | This command (or PF11) deletes the editor profile from the database. Before the profile is deleted, however, a confirmation window pops up, in which you can either type the name of the profile and press ENTER to confirm the deletion of the profile. You can only delete your own editor profile.
`EXIT` | This command (or PF3) terminates the current profile maintenance function, regardless of the Prompt Window for Exit Function setting in the General Defaults window. If any unsaved profile changes exist, you are prompted to save these changes to the database. See also Exit Profile Maintenance.
`CANCEL` | This command (or PF12) cancels the current profile maintenance function and returns to the screen from which it was invoked. Any modifications made to the profile have no effect on the current editor session.

### Exit Profile Maintenance

After modifying the parameter settings of the current editor profile, you can close a profile maintenance window or leave the Editor Profile screen by using one of the following methods:

- Press ENTER.

  The current maintenance window closes. If no window is open, you return to the command prompt of the program editor or data area editor respectively.

  Any modifications are saved for the current editor profile as described for Exit without Saving below.

- Or: Press PF3 (Exit) or enter `EXIT` in the command line of the Editor Profile screen (if no maintenance window is open).

  If no modifications were made to the current editor profile, the current maintenance window closes. If no window is open, you return to the command prompt of the program editor or data area editor respectively.

  If you have modified the current editor profile, the EXIT Function window opens. You can then select one of the following options by either positioning the cursor on the required option or entering any character next to the option:

  Function | Explanation
  --- | ---
  Save and Exit | Returns you to the screen from where the current profile maintenance function was invoked and saves any modifications made to the current editor profile. Modifications are saved both for the current editor session and in the database. If you are working with another user's editor profile, however, modifications made to that profile cannot be saved to the database. They are valid for the current editor session only; a corresponding message is returned.
  Exit without Saving | Returns you to the screen from where the current profile maintenance function was invoked. Any modifications made to the current editor profile are only valid for the current editor session; they are not saved to the database. Exit without Saving corresponds to pressing ENTER.
  Resume Function | Closes the prompt window and returns you to the current profile maintenance function.

### On this page

- Split-Screen Mode
- Editor Profile