RUN [REPEAT ] operand1 [operand2 [(parameter)]] 40
|
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連機能グループ:「プログラムおよびルーチンの呼び出し」
RUN
ステートメントは、Natural システムファイルから Natural ソースプログラムを読み込んで実行するときに使用します。
Natural RPC については、『Natural リモートプロシージャコール(RPC)』ドキュメントの「サーバーに対する Natural ステートメントの注意事項」を参照してください。
オペランド定義テーブル:
オペランド | 構文要素 | フォーマット | ステートメント参照 | ダイナミック定義 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | C | S | A | 可 | 不可 | |||||||||||||||
operand2 | C | S | A | G | A | U | N | P | I | F | B | D | T | L | G | 可 | 不可 |
構文要素の説明:
REPEAT |
この機能は、各画面でユーザーが応答せずにプログラムで複数画面の情報を表示するような場合に使用できます。 |
---|---|
operand1 |
プログラム名:
operand1 として、プログラムの名前を英数字定数または英数字変数の内容として指定できます。 変数を使用する場合は、長さは 8 文字長で指定する必要があります。 プログラムは、現在のライブラリまたは連結されたライブラリ(デフォルトの STEPLIB は SYSTEM)に保存できます。 プログラムが見つからない場合、エラーメッセージが発行されます。 プログラムはソースプログラムワークエリア内に読み込まれ、エリア内にあるソースプログラムに置き換わります。 |
operand2 |
パラメータ:
パラメータは 次の 注意: |
parameter | operand2 が日付変数の場合は、この変数に対するparameterとして、セッションパラメータ DF (『パラメータリファレンス』を参照)を指定できます。
|
ソースまたはその一部をダイナミックに作成したプログラムは、RUN
ステートメントでダイナミックにコンパイルおよび実行できます。
ダイナミックなソーステキスト作成を実行するには、グローバル変数にソーステキストを挿入し、その後、ソーステキストでそのグローバル変数を参照します。このとき、変数名の先頭文字のプラス記号(+)をアンパサンド(&)に置き換えて参照します。 グローバル変数の内容は、プログラムが
RUN
ステートメントで呼び出されたときに、ソーステキストとして解釈されます。
インデックス付きグローバル変数を、RUN
ステートメントを介して呼び出されるプログラム内で使用しないでください。
グローバル変数にコメントや INCLUDE
ステートメントを入れることはできません。
** Example 'RUNEX1': RUN (with dynamic source program creation) ************************************************************************ DEFINE DATA GLOBAL USING RUNEXGDA LOCAL 1 #NAME (A20) 1 #CITY (A20) END-DEFINE * INPUT 'Please specify the search values:' // 'Name:' #NAME / 'City:' #CITY * RESET +CRITERIA /* defined in GDA 'RUNEXGDA' * IF #NAME = ' ' AND #CITY = ' ' REINPUT 'Enter at least 1 value' END-IF * IF #NAME NE ' ' COMPRESS 'NAME' ' =''' #NAME '''' INTO +CRITERIA LEAVING NO END-IF IF #CITY NE ' ' IF +CRITERIA NE ' ' COMPRESS +CRITERIA 'AND' INTO +CRITERIA END-IF COMPRESS +CRITERIA ' CITY =''' #CITY '''' INTO +CRITERIA LEAVING NO END-IF * RUN 'RUNEXFND' * END
** Example 'RUNEXFND': RUN (program executed with RUN in RUNEX1) ************************************************************************ DEFINE DATA GLOBAL USING RUNEXGDA LOCAL 1 EMPLOY-VIEW VIEW OF EMPLOYEES 2 NAME 2 CITY END-DEFINE * * &CRITERIA filled with "NAME = 'xxxxx' AND CITY = 'xxxx'" * FIND NUMBER EMPLOY-VIEW WITH &CRITERIA RETAIN AS 'EMP-SET' DISPLAY *NUMBER * END
Global RUNEXGDA Library SYSEXSYN DBID 10 FNR 32 Command > + I T L Name F Length Miscellaneous All -- -------------------------------- - ---------- -------------------------> 1 +CRITERIA A 80