Processing rules and helproutines are defined for fields in a map.
When you have completed the exercises below, your sample application will consist of the following modules (a processing rule cannot be defined as a separate module; it is always part of a map):

This document contains the following exercises:
You will now define the message that is to be displayed when the user presses ENTER without specifying a starting name.
 To define a processing rule
To define a processing rule
Return to the map editor by entering the following.
EDIT MAP01
Use the arrow keys to select the input field for the starting name. Press ESC to redisplay the menu and choose .
The Extended Field Editing window appears.
| +-Extended Field Editing-------------------------------------------------------+ ¦Field : #NAME-START ¦ ¦Format: A Len: 20 AL: 20 PM: ZP: N SG: N ¦ ¦Rules : 0 Rule Editing: N Array: None Array Editing: N Mode: User ¦ ¦AD: ILMFHT'_' CD: CV: DY: N HE: N ¦ ¦EM: ¦ +------------------------------------------------------------------------------+ | 
Use TAB to move to the field Rule Editing. Either enter "Y" in this field or press PF2.
The following screen appears.
| +-Current Field: #NAME-START---------------------------------------------------+
¦                      R U L E   E D I T I N G (Esc = Quit)                    ¦
¦Rules                                   Fields                                ¦
+------------------------------------------------------------------------------+
                                                                                
                           End XXXXXXXXXXXXXXXXXXXX                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Create or modify a rule for this field | 
Choose and then .
An empty editor window appears.
Enter the following processing rule (use
                                        the line command I to insert blank
                                        lines):
                     
IF & = ' ' THEN REINPUT 'Please enter a starting name.' MARK *& END-IF
The ampersand (&) in the processing rule will dynamically
                                        be replaced with the name of the field. In this case, it will be replaced with
                                        #NAME-START. If #NAME-START is blank, the message
                                        defined with the REINPUT statement is displayed. 
                     
MARK is an option of the REINPUT
                                        statement. Its syntax is MARK
                                           *fieldname. MARK specifies the
                                        field in which the cursor is to be placed when the REINPUT
                                        statement is executed. In this case, the cursor will be placed in the
                                        #NAME-START field.
                     
Enter the following in the command line:
P=1
The rank defines the sequence in which the rules for the different fields are to be processed. All rules with rank 1 are processed first, followed by those with rank 2, etc.
| EDIT:                                     S 02- ---------------Columns 001 074  
Rank:  NEW RULE      Rule:                                      Typ: R  Mode: S 
Cmnd=> p=1                                                   Scroll==> CSR
****** ******************************* top of data *****************************
000001 IF & = ' ' THEN                                                          
000002   REINPUT 'PLEASE ENTER A STARTING NAME.'                                
000003   MARK *&                                                                
000004 END-IF                                                                   
****** ***************************** bottom of data ****************************
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--
P     U     End   P*    Rfind Rchng Up    Down        Right Left  Home | 
Press ENTER to save your input.
The following screen appears again. Your new rule with the rank 1 is now shown below . When you select this rule, the first lines of your code are shown at the bottom of the screen.
| +-Current Field: #NAME-START---------------------------------------------------+
¦                      R U L E   E D I T I N G (Esc = Quit)                    ¦
¦Rules                                   Fields                                ¦
+--------+---------------------------------------------------------------------+
¦<CREATE>¦                                                                      
¦       1¦             End XXXXXXXXXXXXXXXXXXXX                                 
+--------+                                                                      
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
0010 IF & = ' ' THEN                                                            
0020   REINPUT 'PLEASE ENTER A STARTING NAME.'                                  
0030   MARK *&                                                                  
                                                                                
 Create or modify a rule for this field | 
Press ESC repeatedly until the Natural Map Editor menu is shown again.
Test the map.
In the resulting output, enter any starting name and press ENTER.
The output screen is closed.
Test the map once more. Do not enter a name and press ENTER.
The message defined with the processing rule should now appear in the map.
To leave the output screen, enter a dot (.) in the field which prompts for a starting name and press ENTER.
Stow the map.
A helproutine is displayed when the user presses the help key when the cursor is on the input field for the starting name.
You will first define the helproutine and then associate it with a specific field.
 To create a helproutine
To create a helproutine
From the Natural Map Editor menu, choose .
Natural's main menu is shown again with the Direct Command window prompting for input.
Enter one of the following:
EDIT PROGRAM
E P
An empty editor appears.
Enter the following:
WRITE 'Type the name of an employee' END
Change the program to a helproutine by entering the following in the program editor's command line:
SET TYPE H
where "H" denotes helproutine.
Stow the helproutine and name it
                                        HLP01.
                     
STOW HLP01
 To associate the helproutine with a field on the map
To associate the helproutine with a field on the map
Return to the map editor by entering the following in the command line of the screen in which you have just entered the helproutine.
E MAP01
Select the data field for the starting name, press ESC to display the Natural Map Editor menu and choose .
The Extended Field Editing window is displayed for the field.
Use TAB to move to the field HE. Either enter "Y" in this field or press PF2.
A window appears prompting for the name of the helproutine.
In the HE field enter "'HLP01'" (including the single quotation marks).
This is the name under which you have saved your helproutine.
| XXXXXXXXXX                                                           TT:TT:TT   
                                                                                
                                                                                
                         Start XXXXXXXXXXXXXXXXXXXX                             
                                                                                
                           End XXXXXXXXXXXXXXXXXXXX                             
                                                                                
                                                                                
                                                                                
                                                                                
     +-HE-----------------------------------------------------------------+     
     ¦HE: 'HLP01'                                                         ¦     
     ¦                                                                    ¦     
     +--------------------------------------------------------------------+     
                                                                                
+-Extended Field Editing-------------------------------------------------------+
¦Field : #NAME-START                                                           ¦
¦Format: A Len: 20         AL: 20          PM:                  ZP: N  SG: N   ¦
¦Rules : 1 Rule Editing: Y Array: None     Array Editing: N     Mode:  User    ¦
¦AD: MILFHT'_'  CD:        CV:                                  DY: N  HE: Y   ¦
¦EM:                                                                           ¦
+------------------------------------------------------------------------------+
 Helproutine and Parameters | 
Press ENTER twice to save your changes and close all windows.
Test the map.
In the resulting output, enter a question mark (?) in the input field for the starting name.
The help text you have defined is shown.
Press ENTER to return to the map.
To leave the map, enter a dot (.) in the field which prompts for a starting name and press ENTER.
Stow the map.
From the Natural Map Editor menu, choose .
Natural's main menu is shown again with the Direct Command window prompting for input.
You can now proceed with the next exercises: Local Data Areas.