Natural for Mainframes Version 8.2.5 for Mainframes
 —  Programming Guide  —

Natural Reserved Keywords

This document contains a list of all keywords that are reserved in the Natural programming language.

Important:
To avoid any naming conflicts, you are strongly recommended not to use Natural reserved keywords as names for variables.

The following topics are covered:


Alphabetical List of Natural Reserved Keywords

The following list is an overview of Natural reserved keywords and is for general information only. In case of doubt, use the keyword check function of the compiler.

[ A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z ]

- A -

ABS
ABSOLUTE
ACCEPT
ACTION
ACTIVATION
AD
ADD
AFTER
AL
ALARM
ALL
ALPHA
ALPHABETICALLY
AND
ANY
APPL
APPLICATION
ARRAY
AS
ASC
ASCENDING
ASSIGN
ASSIGNING
ASYNC
AT
ATN
ATT
ATTRIBUTES
AUTH
AUTHORIZATION
AUTO
AVER
AVG

- B -

BACKOUT
BACKWARD
BASE
BEFORE
BETWEEN
BLOCK
BOT
BOTTOM
BREAK
BROWSE
BUT
BX
BY

- C -

CABINET
CALL
CALLDBPROC
CALLING
CALLNAT
CAP
CAPTIONED
CASE
CC
CD
CDID
CF
CHAR
CHARLENGTH
CHARPOSITION
CHILD
CIPH
CIPHER
CLASS
CLOSE
CLR
COALESCE
CODEPAGE
COMMAND
COMMIT
COMPOSE
COMPRESS
COMPUTE
CONCAT
CONDITION
CONST
CONSTANT
CONTEXT
CONTROL
CONVERSATION
COPIES
COPY
COS
COUNT
COUPLED
CS
CURRENT
CURSOR
CV

- D -

DATA
DATAAREA
DATE
DAY
DAYS
DC
DECIDE
DECIMAL
DEFINE
DEFINITION
DELETE
DELIMITED
DELIMITER
DELIMITERS
DESC
DESCENDING
DIALOG
DIALOG-ID
DIGITS
DIRECTION
DISABLED
DISP
DISPLAY
DISTINCT
DIVIDE
DL
DLOGOFF
DLOGON
DNATIVE
DNRET
DO
DOCUMENT
DOEND
DOWNLOAD
DU
DY
DYNAMIC

- E -

EDITED
EJ
EJECT
ELSE
EM
ENCODED
END
END-ALL
END-BEFORE
END-BREAK
END-BROWSE
END-CLASS
END-DECIDE
END-DEFINE
END-ENDDATA
END-ENDFILE
END-ENDPAGE
END-ERROR
END-FILE
END-FIND
END-FOR
END-FUNCTION
END-HISTOGRAM
ENDHOC
END-IF
END-INTERFACE
END-LOOP
END-METHOD
END-NOREC
END-PARAMETERS
END-PARSE
END-PROCESS
END-PROPERTY
END-PROTOTYPE
END-READ
END-REPEAT
END-RESULT
END-SELECT
END-SORT
END-START
END-SUBROUTINE
END-TOPPAGE
END-WORK
ENDING
ENTER
ENTIRE
ENTR
EQ
EQUAL
ERASE
ERROR
ERRORS
ES
ESCAPE
EVEN
EVENT
EVERY
EXAMINE
EXCEPT
EXISTS
EXIT
EXP
EXPAND
EXPORT
EXTERNAL
EXTRACTING

- F -

FALSE
FC
FETCH
FIELD
FIELDS
FILE
FILL
FILLER
FINAL
FIND
FIRST
FL
FLOAT
FOR
FORM
FORMAT
FORMATTED
FORMATTING
FORMS
FORWARD
FOUND
FRAC
FRAMED
FROM
FS
FULL
FUNCTION
FUNCTIONS

- G -

GC
GE
GEN
GENERATED
GET
GFID
GIVE
GIVING
GLOBAL
GLOBALS
GREATER
GT
GUI

- H -

HANDLE
HAVING
HC
HD
HE
HEADER
HEX
HISTOGRAM
HOLD
HORIZ
HORIZONTALLY
HOUR
HOURS
HW

- I -

IA
IC
ID
IDENTICAL
IF
IGNORE
IM
IMMEDIATE
IMPORT
IN
INC
INCCONT
INCDIC
INCDIR
INCLUDE
INCLUDED
INCLUDING
INCMAC
INDEPENDENT
INDEX
INDEXED
INDICATOR
INIT
INITIAL
INNER
INPUT
INSENSITIVE
INSERT
INT
INTEGER
INTERCEPTED
INTERFACE
INTERFACE4
INTERMEDIATE
INTERSECT
INTO
INVERTED
INVESTIGATE
IP
IS
ISN

- J -

JOIN
JUST
JUSTIFIED

- K -

KD
KEEP
KEY
KEYS

- L -

LANGUAGE
LAST
LC
LE
LEAVE
LEAVING
LEFT
LENGTH
LESS
LEVEL
LIB
LIBPW
LIBRARY
LIBRARY-PASSWORD
LIKE
LIMIT
LINDICATOR
LINES
LISTED
LOCAL
LOCKS
LOG
LOG-LS
LOG-PS
LOGICAL
LOOP
LOWER
LS
LT

- M -

MACROAREA
MAP
MARK
MASK
MAX
MC
MCG
MESSAGES
METHOD
MGID
MICROSECOND
MIN
MINUTE
MODAL
MODIFIED
MODULE
MONTH
MORE
MOVE
MOVING
MP
MS
MT
MULTI-FETCH
MULTIPLY

- N -

NAME
NAMED
NAMESPACE
NATIVE
NAVER
NC
NCOUNT
NE
NEWPAGE
NL
NMIN
NO
NODE
NOHDR
NONE
NORMALIZE
NORMALIZED
NOT
NOTIT
NOTITLE
NULL
NULL-HANDLE
NUMBER
NUMERIC

- O -

OBJECT
OBTAIN
OCCURRENCES
OF
OFF
OFFSET
OLD
ON
ONCE
ONLY
OPEN
OPTIMIZE
OPTIONAL
OPTIONS
OR
ORDER
OUTER
OUTPUT

- P -

PACKAGESET
PAGE
PARAMETER
PARAMETERS
PARENT
PARSE
PASS
PASSW
PASSWORD
PATH
PATTERN
PA1
PA2
PA3
PC
PD
PEN
PERFORM
PFn (n = 1 to 9)
PFnn(nn = 10 to 99)
PGDN
PGUP
PGM
PHYSICAL
PM
POLICY
POS
POSITION
PREFIX
PRINT
PRINTER
PROCESS
PROCESSING
PROFILE
PROGRAM
PROPERTY
PROTOTYPE
PRTY
PS
PT
PW

- Q -

QUARTER
QUERYNO

- R -

RD
READ
READONLY
REC
RECORD
RECORDS
RECURSIVELY
REDEFINE
REDUCE
REFERENCED
REFERENCING
REINPUT
REJECT
REL
RELATION
RELATIONSHIP
RELEASE
REMAINDER
REPEAT
REPLACE
REPORT
REPORTER
REPOSITION
REQUEST
REQUIRED
RESET
RESETTING
RESIZE
RESPONSE
RESTORE
RESULT
RET
RETAIN
RETAINED
RETRY
RETURN
RETURNS
REVERSED
RG
RIGHT
ROLLBACK
ROUNDED
ROUTINE
ROW
ROWS
RR
RS
RULEVAR
RUN

- S -

SA
SAME
SCAN
SCREEN
SCROLL
SECOND
SELECT
SELECTION
SEND
SENSITIVE
SEPARATE
SEQUENCE
SERVER
SET
SETS
SETTIME
SF
SG
SGN
SHORT
SHOW
SIN
SINGLE
SIZE
SKIP
SL
SM
SOME
SORT
SORTED
SORTKEY
SOUND
SPACE
SPECIFIED
SQL
SQLID
SQRT
STACK
START
STARTING
STATEMENT
STATIC
STATUS
STEP
STOP
STORE
SUBPROGRAM
SUBPROGRAMS
SUBROUTINE
SUBSTR
SUBSTRING
SUBTRACT
SUM
SUPPRESS
SUPPRESSED
SUSPEND
SYMBOL
SYNC
SYSTEM

- T -

TAN
TC
TERMINATE
TEXT
TEXTAREA
TEXTVARIABLE
THAN
THEM
THEN
THRU
TIME
TIMESTAMP
TIMEZONE
TITLE
TO
TOP
TOTAL
TP
TR
TRAILER
TRANSACTION
TRANSFER
TRANSLATE
TREQ
TRUE
TS
TYPE
TYPES

- U -

UC
UNDERLINED
UNION
UNIQUE
UNKNOWN
UNTIL
UPDATE
UPLOAD
UPPER
UR
USED
USER
USING

- V -

VAL
VALUE
VALUES
VARGRAPHIC
VARIABLE
VARIABLES
VERT
VERTICALLY
VIA
VIEW

- W -

WH
WHEN
WHERE
WHILE
WINDOW
WITH
WORK
WRITE
WITH_CTE

- X -

XML

- Y -

YEAR

- Z -

ZD
ZP

Top of page

Performing a Check for Natural Reserved Keywords

There is a subset of Natural keywords which, when used as names for variables, would be ambiguous. These are in particular keywords which identify Natural statements (ADD, FIND, etc.) or system functions (ABS, SUM, etc.). If you use such a keyword as the name of a variable, you cannot use this variable in the context of optional operands (with CALLNAT, WRITE, etc.).

Example:

DEFINE DATA LOCAL
1 ADD (A10)
END-DEFINE
CALLNAT 'MYSUB' ADD 4     /* ADD is regarded as ADD statement
END

To check variable names in a Natural object against such Natural reserved keywords, you can use the

The following table contains a list of Natural reserved keywords that are checked by KCHECK.

A - D E - F G - P R - S T - W

A-AVER
ABS
ACCEPT
ADD
ALL
A-MAX
A-MIN
A-NAVER
A-NCOUNT
A-NMIN
ANY
ASSIGN
A-SUM
AT
ATN
AVER
BACKOUT
BEFORE
BREAK
BROWSE
CALL
CALLDBPROC
CALLNAT
CLOSE
COMMIT
COMPOSE
COMPRESS
COMPUTE
COPY
COS
COUNT
CREATE
DECIDE
DEFINE
DELETE
DISPLAY
DIVIDE
DLOGOFF
DLOGON
DNATIVE
DO
DOEND
DOWNLOAD

EJECT
ELSE
END
END-ALL
END-BEFORE
END-BREAK
END-BROWSE
END-DECIDE
END-ENDDATA
END-DECIDE
END-ENDDATA
END-ENDFILE
END-ENDPAGE
END-ERROR
END-FILE
END-FIND
END-FOR
END-HISTOGRAM
ENDHOC
END-IF
END-LOOP
END-NOREC
END-PARSE
END-PROCESS
END-READ
END-REPEAT
END-RESULT
END-SELECT
END-SORT
END-START
END-SUBROUTINE
END-TOPPAGE
END-WORK
ENTIRE
ESCAPE
EXAMINE
EXP
EXPAND
EXPORT
FALSE
FETCH
FIND
FOR
FORMAT
FRAC

GET
HISTOGRAM
IF
IGNORE
IMPORT
INCCONT
INCDIC
INCDIR
INCLUDE
INCMAC
INPUT
INSERT
INT
INVESTIGATE
LIMIT
LOG
LOOP
MAP
MAX
MIN
MOVE
MULTIPLY
NAVER
NCOUNT
NEWPAGE
NMIN
NONE
NULL-HANDLE
OBTAIN
OLD
ON
OPEN
OPTIONS
PARSE
PASSW
PERFORM
POS
PRINT
PROCESS

READ
REDEFINE
REDUCE
REINPUT
REJECT
RELEASE
REPEAT
REQUEST
RESET
RESIZE
RESTORE
RET
RETRY
RETURN
ROLLBACK
RULEVAR
RUN
SELECT
SEND
SEPARATE
SET
SETTIME
SGN
SHOW
SIN
SKIP
SORT
SORTKEY
SQRT
STACK
START
STOP
STORE
SUBSTR
SUBSTRING
SUBTRACT
SUM
SUSPEND

TAN
TERMINATE
TOP
TOTAL
TRANSFER
TRUE
UNTIL
UPDATE
UPLOAD
VAL
VALUE
VALUES
WASTE
WHEN
WHILE
WITH_CTE
WRITE

By default, no keyword check is performed.

Top of page