バージョン 6.3.3
 —  ステートメント  —

TERMINATE

TERMINATE [operand1 [operand2]]

このドキュメントでは、次のトピックについて説明します。

構文図で使用されている記号については、「構文記号」を参照してください。


機能

TERMINATE ステートメントは、Natural セッションを終了するために使用します。 TERMINATE ステートメントは、Natural プログラム内の任意の位置に指定できます。 TERMINATE ステートメントが実行されると、ページ終了処理やループ終了処理は行われません。

Natural RPC については、『Natural リモートプロシージャコール(RPC)』ドキュメントの「サーバーに対する Natural ステートメントの注意事項」を参照してください。

Top of page

構文説明

オペランド定義テーブル:

オペランド 構文要素 フォーマット ステートメント参照 ダイナミック定義
operand1 C S         N P  I                 不可
operand2 C S A     A  U                    

構文要素の説明:

operand1

operand1 を使用して、Natural 終了時に制御を受け取るプログラムにリターンコードを渡します。 例えば、リターンコード設定は、コマンドプロセッサに渡し、ERRORLEVEL 機能でチェックできます。渡すことができます。

オペレーション』ドキュメントの「Natural スタートアップエラー」も参照してください。

operand1 に指定できる値の範囲は 0~255 です。

operand2 operand2 を使用して、終了後に制御を受け取るプログラムに追加情報を渡すことができます。

Top of page

Natural 終了後に制御を受け取るプログラム

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 パラメータが設定されていない場合、終了後、コマンドインタープリタが制御を受け取ります。

Top of page

** 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                                       

Top of page