Functions of KEYWORD


I am new to NATURAL. While trying to understand the logic written in NATURAL code, i came across few RESERVED KEYWORD mentioned below for which i am not able to get the functionality/meaning of the word.

Can anyone please help me in understanding the same.


Thanks in advance!



You can find a list of reserved keywords here:

Reserved keywords don’t have to have a meaning by themselves but the context in which they are used would lend itself to what it means in that context. Natural doesn’t want you to define variables that could be confused with placement of various words as that can lead the compiler to try to decide an ambiguous string that it cannot properly parse. Though as a side note, participants on SAG-L have shared some rather ambiguous-looking code that the compiler had no trouble interpreting.

ALARM for example is included under REINPUT syntax to indicate that the machine should “beep” at the user while displaying any reinput messages, and if specified, reposition the cursor using MARK.

See documentation reference and specifically concerning the ALARM-clause here:

RULEVAR and INCDIC both come into play with Predict’s automatic or free rules and are not found in normal Natural syntax, though if you ever displayed a map’s raw source that includes such rules, you would see these words.

Though it doesn’t deal with how RULEVAR and INCDIC are brought in, from your perspective, I would recommend reading about map processing rules here:

After that, if you want more information about Predict’s capabilities, please discuss with your shop’s DBA.

I assume this question was just for curiosity or because someone had such questions on a test you had to take and isn’t an attempt to solve a specific problem. There’s a world of knowledge to be gained in this field for which the documentation will provide answers as would a formal training class.



Hi Brian,

Thanks for your reply!

I was actually trying to extract business rules by going through a Natural Screen/Map(NSM file). Was wondering what the RULEVAR, INCDIC does in the code. Does it needs to be captured if suppose one wants to migrate NATURAL to some other environment (e.g Dotnet,Java)


If you are migrating applications to another technology like .NET or Java, you will need to understand the implied logic performed by processing rules invoked by Predict or included in maps if you have them. The existence of these words in a map indicte such a rule is present.

They can be coded into your new program or performed automatically by database triggers or stored procedures, depending on what is most appropriate. You would likely need to analyze and spec out this rule to be coded as I don’t expect any automated tool for converting will pick this up and apply it properly.