TERMINATE [operand1 [operand2]]
|
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
TERMINATE ステートメントは、Natural セッションを終了するために使用します。TERMINATE ステートメントは、Natural プログラム内の任意の位置に指定できます。TERMINATE ステートメントが実行されると、ページ終了処理やループ終了処理は行われません。
Natural RPC の場合:『Natural リモートプロシージャコール(RPC)』ドキュメントの「サーバーに対する Natural ステートメントの注意事項」を参照してください。
オペランド定義テーブル:
| オペランド | 構文要素 | フォーマット | オペランド参照 | ダイナミック定義 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 |
C | S | N | P | I | ○ | × | ||||||||||||
operand2 |
C | S | A | A | U | ○ | ○ | ||||||||||||
構文要素の説明:
| 構文要素 | 説明 |
|---|---|
operand1 |
『オペレーション』ドキュメントの「Natural スタートアップエラー」も参照してください。 operand1 に指定できる値の範囲は |
operand2 |
operand2 を使用して、終了後に制御を受け取るプログラムに追加情報を渡すことができます。
|
Natural セッションの終了後、プロファイルパラメータ PROGRAM で指定された名前のプログラムに制御が渡ります。
Natural は、そのプログラムに operand2 とプロファイルパラメータ PRGPAR の値を渡します(これらが指定されている場合)。プログラムはこれらのパラメータを通常の方法で引数として受け取ります。
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;
}
PROGRAM パラメータが設定されていない場合、終了後、UNIX コマンドシェルが制御を受け取ります。
** 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