| TERMINATE[operand1
                           																[operand2]] | 
This document covers the following topics:
For explanations of the symbols used in the syntax diagram, see Syntax Symbols.
The TERMINATE statement is used to terminate a Natural
                  										session. A TERMINATE statement may be placed anywhere within a
                  										Natural program. When a TERMINATE statement is executed, no
                  										end-of-page or end-loop processing will be performed.
               
For Natural RPC: See Notes on Natural Statements on the Server in the Natural RPC (Remote Procedure Call) documentation.
Operand Definition Table:
| Operand | Possible Structure | Possible Formats | Referencing Permitted | Dynamic Definition | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| operand1 | C | S | N | P | I | yes | no | ||||||||||||
| operand2 | C | S | A | A | U | yes | yes | ||||||||||||
Syntax Element Description:
| Syntax Element | Description | 
|---|---|
| operand1 |   See also Natural Startup Errors in the Operations documentation. The value supplied for operand1
                              																				must be in the range  | 
| operand2 | operand2may be used to pass additional
                           																		information to the program which receives control after the
                           																		termination. | 
After the termination of the Natural session, the program whose name
                  										is specified with the profile parameter PROGRAM will
                  										receive control.
               
Natural passes operand2
                  												and the value of the profile parameter PRGPAR to that
                  												program, if they are specified. The program receives these parameters in the
                  												usual way as arguments:
               
int main(int argc, char *argv[])
{
  /* Number of arguments passed. */
  printf("Number of arguments: %d\n", argc);
  /* Program name. */
  if ( argc > 0 )
    printf("Program: %s\n", argv[0]);
  /* Value of operand2 of the TERMINATE statement. */
  if ( argc > 1 )
    printf("Operand 2: %s\n", argv[1]);
  /* Value of the profile parameter PRGPAR. */
  if ( argc > 2 )
    printf("PRGPAR: %s\n", argv[2]);
  return 0;
} 
               										If the PROGRAM parameter
                  												is not set, the UNIX command shell will
                  												receive control after the termination.
               
** Example 'TEREX1': TERMINATE ************************************************************************ DEFINE DATA LOCAL 1 EMPLOY-VIEW VIEW OF EMPLOYEES 2 PERSONNEL-ID 2 NAME 2 SALARY (1) * 1 #PNUM (A8) 1 #PASSWORD (A8) END-DEFINE * INPUT 'ENTER PASSWORD:' #PASSWORD * IF #PASSWORD NE 'USERPASS' /* TERMINATE /* END-IF * INPUT 'ENTER PERSONNEL NUMBER:' #PNUM * FIND EMPLOY-VIEW WITH PERSONNEL-ID = #PNUM DISPLAY NAME SALARY (1) END-FIND * END