This document provides an overview of Natural statements grouped by function.
Notes:
DLOGOFF
, DLOGON
,
SHOW
, IMPORT
and EXPORT
are only
available when Entire DB is installed. For a
description, see the Entire DB documentation.
The following types of statements are available:
The following Natural data manipulation language (DML) statements are used to access and manipulate information contained in a database.
READ |
Reads a database file in physical or logical sequence of records. |
READLOB |
Reads a LOB field (Large OBject field) in fixed length segments using multiple database calls. |
FIND |
Selects records from a database file based on user-specified criteria. |
HISTOGRAM |
Reads the values of a database field. |
GET |
Reads a record with a given ISN (internal sequence number) or RNO (record number). |
GET
SAME |
Re-reads the record currently being processed. |
ACCEPT/REJECT |
Accepts/reject records based on user-specified criteria. |
PASSW |
Provides password for access to a password-protected file. |
LIMIT |
Limits the number of executions of a READ ,
FIND or HISTOGRAM processing loop.
|
STORE |
Adds a new record to the database. |
UPDATE |
Updates a record in the database. |
UPDATELOB |
Updates a data segment of a LOB field (Large OBject field) in a database record. |
DELETE |
Deletes a record from the database. |
END
TRANSACTION |
Indicates the end of a logical transaction. |
BACKOUT
TRANSACTION |
Backs out a partially completed logical transaction. |
GET TRANSACTION
DATA |
Reads transaction data stored with a previous END
TRANSACTION statement.
|
RETRY |
Attempts to re-read a record which is in hold status for another user. |
AT START OF
DATA |
Specifies statements to be performed when the first of a set of records is processed in a processing loop. |
AT END OF
DATA |
Specifies statements to be performed after the last of a set of records has been processed in a processing loop. |
AT
BREAK |
Specifies statements to be performed when the value of a control field changes (break processing). |
BEFORE BREAK
PROCESSING |
Specifies statements to be performed before performing break processing. |
PERFORM BREAK
PROCESSING |
Immediately invokes break processing. |
In addition to the Natural DML statements, Natural also provides SQL statements for use in Natural programs that manipulate data on an SQL database.
The following Natural SQL statements are available:
CALLDBPROC |
Invokes a stored procedure of the SQL database system to which Natural is connected. |
COMMIT |
Indicates the end of a logical transaction and releases all data locked during the transaction. All data modifications are committed and made permanent. |
DELETE |
Deletes either rows in a table without using a cursor
("searched"
DELETE ) or rows in a table to which a cursor is
positioned ("positioned"
DELETE ).
|
INSERT |
Adds one or more new rows to a table. |
MERGE |
Updates a table using the specified input data. Rows in the target table that match the input data are updated as specified, and rows that do not exist in the target table are inserted. |
PROCESS
SQL |
Issues SQL statements to the underlying database. |
READ RESULT SET |
Reads a result set which was created by a stored procedure that
was invoked by a previous CALLDBPROC statement.
|
ROLLBACK |
Undoes all database modifications made since the beginning of the last recovery unit. |
SELECT |
Supports both the
cursor-oriented
selection that is used to retrieve an arbitrary number of rows and
the non-cursor
selection (singleton SELECT ) that retrieves at most one
single row.
|
UPDATE |
Performs an update operation on either rows in a table without
using a cursor ("searched"
UPDATE ) or columns in a row to which a cursor is
positioned ("positioned"
UPDATE ).
|
The following statements are used for arithmetic and data movement operations:
COMPUTE |
Performs arithmetic operations or assigns values to fields. |
ADD |
Adds two or more operands. |
SUBTRACT |
Subtracts one or more operands from another operand. |
MULTIPLY |
Multiplies two or more operands. |
DIVIDE |
Divides one operand into another. |
EXAMINE
TRANSLATE |
Translates the characters contained in a field into upper-case or lower-case, or into other characters. |
MOVE |
Moves the value of an operand to one or more fields. |
MOVE
ALL |
Moves multiple occurrences of a value to another field. |
COMPRESS |
Concatenates the value of two or more fields into a single field. |
SEPARATE |
Separates the content of a field into two or more fields. |
EXAMINE |
Scans a field for a specific value and replaces it, and/or counts how often it occurs. |
RESET |
Sets the value of a field to zero (if numeric) or blank (if alphanumeric), or to its initial value. |
The following statements are related to the execution of processing loops:
ESCAPE |
Stops the execution of a processing loop. |
FOR |
Initiates a processing loop and controls the number of times the loop is to be processed. |
REPEAT |
Initiates a processing loop (and terminates it based on a specified condition). |
SORT |
Sorts records. |
The following statements are used for the creation of output reports:
FORMAT |
Specifies output parameter settings. |
DISPLAY |
Specifies fields to be output in column form. |
WRITE /
PRINT |
Specifies fields to be output in non-column form. |
WRITE
TITLE |
Specifies text to be output at the top of each page of a report. |
WRITE
TRAILER |
Specifies text to be output at the bottom of each page of a report. |
AT TOP OF
PAGE |
Specifies processing to be performed when a new output page is started. |
AT END OF
PAGE |
Specifies processing to be performed when the end of an output page is reached. |
SKIP |
Generates one or more blank lines in a report. |
EJECT |
Causes a page advance without titles or headings. |
NEWPAGE |
Causes a page advance with titles and headings. |
SUSPEND IDENTICAL
SUPPRESS |
Suspends identical suppression for a single record. |
DEFINE
PRINTER
|
Allocates a report to a logical output destination. |
CLOSE
PRINTER |
Closes a printer. |
The following statements are used to create data screens (maps) for the purpose of interactive processing of data:
INPUT |
Creates a formatted screen (map) for data display/ entry. |
REINPUT |
Re-executes an INPUT statement (if invalid data
were entered in response to the previous INPUT statement).
|
DEFINE
WINDOW |
Specifies the size, position and attributes of a window. |
SET
WINDOW |
Activates and de-activates a window. |
PROCESS
PAGE |
Creates a data mapping to a web rich GUI screen. |
PROCESS PAGE
USING |
Performs rich GUI I/O processing using an adapter object generated from a page layout. |
PROCESS PAGE
UPDATE |
Re-executes a PROCESS PAGE statement.
|
PROCESS PAGE
MODAL |
Initiates a processing block and controls the lifetime of a rich GUI window. |
The following statements are used to control the execution of statements based on conditions detected during the execution of a Natural program:
IF |
Performs statements depending on a logical condition. |
IF
SELECTION |
Verifies that in a sequence of alphanumeric fields one and only one contains a value. |
DECIDE
FOR |
Performs statements depending on logical conditions. |
DECIDE
ON |
Performs statements depending on the contents of a variable. |
The following statements are used in conjunction with the execution of programs and routines:
CALL |
Invokes a non-Natural program from a Natural program. |
CALLNAT |
Invokes a Natural subprogram. |
CALL
FILE |
Invokes a non-Natural program to read a record from a non-Adabas file. |
CALL
LOOP |
Generates a processing loop containing a call to a non-Natural program. |
DEFINE
SUBROUTINE |
Defines a Natural subroutine. |
ESCAPE |
Stops the execution of a routine. |
FETCH |
Invokes a Natural program. |
PERFORM |
Invokes a Natural subroutine. |
PROCESS
COMMAND |
Invokes a command processor. |
RUN |
Compiles and executes a source program. |
The following Natural statements are used to create functions:
DEFINE
FUNCTION |
Creates functions which can be called instead of operands in Natural statements. Functions are defined in Natural objects of type function. |
DEFINE
PROTOTYPE |
Specifies the properties to be used for a function call. |
Function Call | Used to call Natural objects of type function. |
The following Natural statements are used to terminate the execution of an application or to terminate the Natural session.
STOP |
Terminates the execution of an application. |
TERMINATE |
Terminates the Natural session. |
The following Natural statements are used to read/write data to a physical sequential (non-Adabas) work file:
WRITE WORK
FILE |
Writes data to a work file. |
DOWNLOAD PC
FILE |
Enables transfer data from a mainframe or a Linux platform to the PC. |
READ WORK
FILE |
Reads data from a work file. |
UPLOAD PC
FILE |
Enables transfer data from a PC to a mainframe or a Linux platform. |
CLOSE WORK
FILE |
Closes a work file. |
CLOSE PC
FILE |
Closes a specific PC work file. |
DEFINE WORK
FILE |
Assigns a file name to a work file. |
The following Natural statements are used in conjunction with component based programming:
DEFINE
CLASS |
Specifies a class from within a Natural class module. |
CREATE
OBJECT |
Creates an object (also known as an instance) of a given class. |
SEND
METHOD |
Invokes a method of an object. |
INTERFACE |
Defines an interface (a collection of methods and properties) for a certain feature of a class. |
METHOD |
Assigns a subprogram as the implementation of a method, outside an interface definition. |
PROPERTY |
Assigns an object data variable as the implementation to a property, outside an interface definition. |
EXPAND |
Expands the allocated memory of dynamic variables to a given size. |
REDUCE |
Reduces the size of a dynamic variable. |
RESIZE |
Adjusts the size of a dynamic variable. |
OPEN
CONVERSATION |
Allows the RPC Client to open a conversation and specify the remote subprograms to be included in the conversation. |
CLOSE
CONVERSATION |
Allows the client to close conversations. You can close the current conversation, another open conversation, or all open conversations. |
DEFINE
DATA CONTEXT |
Defines variables known as context variables, which are meant to
be available to multiple remote subprograms within one conversation, without
having to explicitly pass the variables as parameters with the corresponding
CALLNAT statements.
|
See also the section Natural Statements Involved in the Natural RPC (Remote Procedure Call) documentation.
PARSE JSON |
Allows you to parse JSON documents from a Natural program. |
PARSE XML |
Allows you to parse XML documents from a Natural program. |
REQUEST
DOCUMENT |
Allows you to access an external system. |
DEFINE
DATA |
Defines the data elements which are to be used in a Natural program or routine. |
END |
Indicates the end of the source code of a Natural program or routine. |
INCLUDE |
Incorporates Natural copycode at compilation. |
ON
ERROR |
Intercepts runtime errors which would otherwise result in a Natural error message, followed by the termination of the Natural program. |
RELEASE |
Deletes the contents of the Natural stack; releases sets of ISN
sets retained via a FIND statement; releases Natural global
variables.
|
SET
CONTROL |
Performs a Natural terminal command from within a Natural program. |
SET
KEY |
Assigns functions to terminal keys. |
SET
GLOBALS |
Sets values for session parameters. |
SET
TIME |
Establishes a point-in-time reference for a
*TIMD system variable.
|
STACK |
Places data and/or commands into the Natural stack. |
The following statements are for reporting mode only:
LOOP |
Closes a processing loop. |
DO/DOEND |
Specify a group of statements to be executed based on a logical condition. |
OBTAIN |
Causes one or more fields to be read from a file. |
REDEFINE |
Redefines a field. |
The following statements can be used both in structured mode and in reporting mode, however, the statement structure and, with some of them, the functionality is different:
AT START OF
DATA |
Specifies statements to be performed when the first of a set of records is processed in a processing loop. |
AT END OF
DATA |
Specifies statements to be performed after the last of a set of records has been processed in a processing loop. |
AT
BREAK |
Specifies statements to be performed when the value of a control field changes (break processing). |
AT TOP OF
PAGE |
Specifies processing to be performed when a new output page is started. |
AT END OF
PAGE |
Specifies processing to be performed when the end of an output page is reached. |
BEFORE BREAK
PROCESSING |
Specifies statements to be performed before performing break processing. |
CALL
LOOP |
Generates a processing loop containing a call to a non-Natural program. |
CALL
FILE |
Invokes a non-Natural program to read a record from a non-Adabas file. |
COMPUTE |
Performs arithmetic operations or assigns values to fields. |
DEFINE
SUBROUTINE |
Defines a Natural subroutine. |
ESCAPE |
Stops the execution of a processing loop. |
FIND |
Selects records from a database file based on user-specified criteria. |
GET
SAME |
Re-reads the record currently being processed. |
HISTOGRAM |
Reads the values of a database field. |
IF |
Performs statements depending on a logical condition. |
IF
SELECTION |
Verifies that in a sequence of alphanumeric fields one and only one contains a value. |
ON
ERROR |
Intercepts runtime errors which would otherwise result in a Natural error message, followed by the termination of the Natural program. |
READ |
Reads a database file in physical or logical sequence of records. |
READ WORK
FILE |
Reads data from a work file. |
REPEAT |
Initiates a processing loop (and terminates it based on a specified condition). |
SORT |
Sorts records. |
STORE |
Adds a new record to the database. |
UPDATE |
Updates a record in the database. |
UPLOAD PC
FILE |
Enables transfer data from a PC to a mainframe or a Linux platform. |
The following Natural statements can be used in conjunction with Predict Case and Entire DB Engine:
DLOGOFF/DLOGON
IMPORT
EXPORT
SHOW
For more information about these statements, see the Predict Case documentation.