This document contains the following exercises:
You will now write your first short program which displays "Hello World!". It will be stored in the library you have created previously.
To create a new program
Make sure that you have logged on to the library named
TUTORIAL
.
Invoke the Direct Command window and enter one of the following:
EDIT PROGRAM
E P
System commands may be abbreviated. E
P
is the abbreviated form of EDIT
PROGRAM
.
The program editor appears. It is currently empty.
>> -----------Columns 001 072 << Program Lines User SAG Command ===> Mode Struct Lib TUTORIAL ****** ****************************** top of data ***************************** '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' ****** **************************** bottom of data **************************** Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Save Exit Run Rfind Stow - + Check Home Undo Canc |
Caution:
Do not press ENTER now. When you press
ENTER, you leave insert mode. To enter code, you then have to return
to insert mode as follows: enter the line command I
at the beginning of the line which contains the words "top of
data" and press ENTER.
Enter the following code in the program editor:
* The "Hello world!" example in Natural. * DISPLAY "Hello world!" END /* End of program
When you press ENTER twice after the last line of code has been added, insert mode is switched off.
Comment lines start with an asterisk (*) followed by at least one blank or a second asterisk. When you forget to enter the blank or second asterisk, Natural assumes that you have specified a system variable; this will result in an error.
If you want to insert empty lines in your program, you should define them as comment lines. This is helpful, if you want to access your program from different platforms (Windows, mainframe, UNIX or OpenVMS). With the mainframe version of Natural, for example, the default is that empty lines are automatically deleted when you press ENTER.
You can also insert comments at the end of a statement line. In this case, the comment starts with a slash followed by an asterisk (/*).
The text that is to be shown in the output is defined with the
DISPLAY
statement. It is enclosed in quotation marks.
The END
statement is used to mark the physical end of a
Natural program. Each program must end with END
.
When you press ENTER, it may happen that all of your lower-case characters are translated to upper-case characters. This behavior is defined in the editor profile (which is explained later).
The system command RUN
automatically invokes
the system command CHECK
which checks the program
code for errors. If no error is found, the program is compiled on the fly and
then executed.
Notes:
CHECK
is also available as a separate
command.
EXECUTE
which uses the stowed version of your
program (stowing a program is explained later in this tutorial). In contrast to
this, the RUN
command always uses your latest
modifications to the program.
To run a program
In the program editor's command line, enter one of the following:
RUN
R
Note:
In the program editor, you can press PF10
(Home) to place the cursor in the command line.
When your code is syntactically correct, the output contains the text you have defined.
MORE Page 1 10-11-22 12:07:25 Hello world!
Press ENTER to return to the program editor.
You will now create an error in your Hello World program and then run the program once more.
To correct an error
Delete the second quotation mark in the line containing the
DISPLAY
statement.
Run the program once more as described above.
When the error is found, an error message is displayed.
>> -----------Columns 001 072 << Program Lines 4 User SAG Command ===> run Mode Struct Lib TUTORIAL ****** ****************************** top of data ***************************** 000010 * The "Hello world!" example in Natural. 000020 * 000030 DISPLAY "Hello world! 000040 END /* End of program +-------------------------- Error in File: ---------------------------+ ¦NAT0305 Text string must begin and end on the same line. ¦ ¦ VVVVVVVVVVVVVVV ¦ ¦0030 DISPLAY "Hello world! ¦ +------------------------------------------------------------------------------+ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Save Exit Run Rfind Stow - + Check Home Undo Canc |
Correct the error in the window which displays the error message, that is: insert the missing quotation mark at the end of the line.
Press ENTER to find the next error.
In this case, no more errors are found and the output is shown.
Press ENTER to return to the program editor.
When you stow a program, it is compiled and both source code and a generated program are stored in the Natural system file.
Like the RUN
command, the system command
STOW
automatically invokes the
CHECK
command. A program is only stowed when it is
syntactically correct.
Note:
If you want to save the changes to your program, even if the program
contains a syntactical error (for example, if you want to suspend your work
until the next day), you can use the system command
SAVE
. When a program is
saved for the first time, you also have to specify a name. For example:
SAVE HELLO
.
To stow a program
In the program editor's command line, enter the following:
STOW HELLO
where "HELLO" is the name with which your program is to be stored.
Note:
When a program has already been given a name, it is
sufficient to enter STOW
in the command line
(without a program name) or to press PF6.
The LIST
command is useful to find out
whether only the source code or both source code and a generated program are
available for an object.
To display information about a program
In the program editor's command line, enter one of the following:
LIST DIR HELLO
L DIR HELLO
The following screen appears. The information provided with Cataloged on is only available when the object has been stowed.
>> -----------Columns 001 072 << Program HELLO Lines 2 User SAG Command ===> list dir hello Mode Struct Lib TUTORIAL ****** ****************************** top of data ***************************** +---------------------------- List Directory HELLO ----------------------------+ | Directory of Program HELLO Saved on ... 2009-06-30 13:32:37 | | ---------------------------------------------------------------------------- | | Library .... TUTORIAL User-ID ...... SAG Mode .. Structured | | OP-System .. OVMS/IA6 | | NAT-Ver .... V 6.3.7.1 | | Size ................................. 36 Bytes | | Encoding ... | | | | Directory of Program HELLO Cataloged on 2009-06-30 13:32:36 | | ---------------------------------------------------------------------------- | | Library .... TUTORIAL User-ID ...... SAG Mode .. Structured | | OP-System .. OVMS OP-Version ..V8.3 | | NAT-Ver .... V 6.3.7.1 | | Size ................................. 329 Bytes | | Endian mode: Little | +------------------------------------------------------------------------------+ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Save Exit Run Rfind Stow - + Check Home Undo Canc |
Press ENTER to return to the program editor.
The LIST
command can also be used to display
a list of all Natural objects in the current library. This is helpful, for
example, if you decide at some point during this tutorial that you want to
delete one or more of your Natural objects in order to start again from the
very beginning.
To display a list of Natural objects
In the program editor's command line, enter one of the following:
LIST *
L *
The following window appears. It lists the program you have just created.
>> -----------Columns 001 072 << Program HELLO Lines 4 User SAG Command ===> l * Mode Struct Lib TUTORIAL ****** ****************************** top of data ***************************** 000010 * The "Hello world!" example in Natural. 000020 * 000030 DISPLAY "Hello world!" 0+--------------------------------- List * * ---------------------------------+ *¦ Cmd Name Type SM S/C Userid SRC Date GP Date ¦ ¦ --- -------- ----------- -- --- -------- ---------------- ---------------- ¦ ¦ <DIRECT COMMAND> ¦ ¦ HELLO Program S S/C SAG 16:37 2009-06-30 16:37 2009-06-30 ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ E¦ ¦ +----------------------------------------------------------------------------+ |
To find out which commands are available, enter a question mark (?) in the Cmd column next to your program.
The following window appears.
+---------------------------+ ¦ C Check ¦ ¦ D Read ¦ ¦ E Edit ¦ ¦ L List ¦ ¦ I List Dir ¦ ¦ H Hardcopy ¦ ¦ R Run ¦ ¦ X Execute ¦ ¦ S Stow ¦ ¦ U Scratch ¦ ¦ . End ¦ +---------------------------+ |
Note:
Scratch is used to delete an
object.
Do not apply any changes right now. Press ESC to close the window without selecting any command.
Press ESC once more to return to the program editor.
When working with the Natural program editor, an editor profile can be defined per
user. This tutorial uses the default settings of the editor profile named
SYSTEM
. Some important settings are mentioned below.
To check the editor profile options
In the program editor's command line, enter the following:
PROFILE
The main menu of the editor profile appears.
13:57:44 **** Program Editor Profile **** 09.06.30 Main Menu Profile Name ... SYSTEM _ Save _ Modify _ Read _ Technical Info Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Exit Modi Save Read Tech Canc |
When a user-specific editor profile does not exist, the default
profile SYSTEM
is displayed. This default profile can be used to
create a user-specific profile. When a user-specific profile exists already, it
is displayed instead of the SYSTEM
profile.
Mark the option Modify and press ENTER.
Or:
Press PF4.
The following screen appears.
14:05:36 **** Program Editor Profile **** 09.06.30 Modify Defaults User ID ........ SYSTEM _ PA/PF-Keys _ Commands _ Find _ General Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Keys Exit Ctrl Find Genl Canc |
Mark the option Commands and press ENTER.
The following screen appears.
14:04:39 **** Program Editor Profile **** 09.06.30 Modify Editor Defaults User ID ....... SYSTEM aorder .............. OFF hex ................. OFF autosave ............ OFF justify ............. LEFT caps ................ OFF limit ............... OFF cols ................ OFF log ................. OFF decimal character ... . mask line ........... OFF empty ............... OFF message line ........ ON escape .............. OFF mso ................. ON escape character .... . scroll mode ......... PAGE fix ................. OFF tabs ................ OFF fixlen .............. 48 tabulator character . ^ Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Exit Canc |
Check the setting of the following options:
caps
Specifies whether data are to be translated into upper case.
empty
Specifies whether lines containing only space characters are to be
deleted automatically.
escape
Specifies whether the escape character is to be used to precede
line commands.
This tutorial assumes that the above options are set to "OFF".
If "ON" is currently defined for any of the above options, overwrite it with "OFF".
Press PF3 or enter EXIT
in the
command line.
Press PF3 repeatedly until the main menu of the editor profile is shown again.
When a user-specific profile has not yet been created, overwrite the
profile name SYSTEM
with your user ID.
When a user-specific profile exists already, proceed with the next step.
Mark the option Save and press ENTER.
Or:
Press PF5.
Press PF3.
Or:
Enter EXIT
in the command line.
The program editor is shown again. Any new settings will now be used in the program editor.
You can now proceed with the next exercises: Database Access.