FETCH |
operand1 [operand2 [(parameter)]] |
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連ステートメント:CALL
| CALL FILE
| CALL LOOP
| CALLNAT
| DEFINE SUBROUTINE
| ESCAPE
| FETCH
| PERFORM
関連機能グループ:プログラムおよびルーチンの呼び出し
FETCH
ステートメントは、メインプログラムとして書かれた Natural オブジェクトプログラムを実行します。ロードするプログラムは、あらかじめ、Natural システムファイルにCATALOG
または STOW
コマンドで(カタログ化または格納して)保存しておく必要があります。FETCH
ステートメントの実行によって、Natural ソースワークエリア内にあるソースプログラムが置き換えられることはありません。
Natural RPC の場合:『Natural リモートプロシージャコール(RPC)』ドキュメントの「サーバーに対する Natural ステートメントの注意事項」を参照してください。
フェッチされたプログラムは、FETCH
で渡されたパラメータの他に、グローバルデータエリアにもアクセスできます。
FETCH
ステートメントは、Natural 管理者が設定した Natural プロファイルパラメータ OPRB
に基づいて、内部的に END TRANSACTION
ステートメントを実行する場合があります。そのため、1 論理トランザクションが複数の Natural プログラムにおよぶ場合は、OPRB
パラメータが正しく設定されているかどうかを確認する必要があります。
オペランド定義テーブル:
オペランド | 構文要素 | フォーマット | オペランド参照 | ダイナミック定義 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 |
C | S | A | ○ | × | |||||||||||||||
operand2 |
C | S | A | G | A | U | N | P | I | F | B | D | T | L | G | ○ | ○ |
構文要素の説明:
構文要素 | 説明 |
---|---|
REPEAT |
REPEAT オプション:
|
RETURN |
RETURN オプション:
|
operand1 |
プログラム名:
プログラムモジュール名(最大 8 文字)は、英数字定数で指定するか、英数字フォーマットのユーザー定義変数(長さ 1~8)の内容として指定します。 Natural は、 プログラム名にアンパサンド(&)を含むこともできます。実行時にこの文字は、システム変数 |
operand2 |
パラメータフィールドの引き渡し:
次の 注意: |
parameter |
日付フォーマット:
|
** Example 'FETEX1': FETCH (with parameter) ************************************************************************ DEFINE DATA LOCAL 1 #PNUM (N8) 1 #FNC (A1) END-DEFINE * INPUT 10X 'SELECTION MENU FOR EMPLOYEES SYSTEM' / 10X '-' (35) // 10X 'ADD (A)' / 10X 'UPDATE (U)' / 10X 'DELETE (D)' / 10X 'STOP (.)' // 10X 'PLEASE ENTER FUNCTION: ' #FNC /// 10X 'PERSONNEL NUMBER:' #PNUM * DECIDE ON EVERY VALUE OF #FNC VALUE 'A', 'U', 'D' IF #PNUM = 0 REINPUT 'PLEASE ENTER A VALID NUMBER' MARK *#PNUM END-IF VALUE 'A' FETCH 'FETEXAD' #PNUM VALUE 'U' FETCH 'FETEXUP' #PNUM VALUE 'D' FETCH 'FETEXDE' #PNUM VALUE '.' STOP NONE REINPUT 'PLEASE ENTER A VALID FUNCTION' MARK *#FNC END-DECIDE * END
** Example 'FETEXAD': FETCH (called by FETEX1) ************************************************************************ DEFINE DATA LOCAL 1 #PERS-NR (N8) END-DEFINE * INPUT #PERS-NR * WRITE *PROGRAM 'Record added with personnel number:' #PERS-NR * END
** Example 'FETEXUP': FETCH (called by FETEX1) ************************************************************************ DEFINE DATA LOCAL 1 #PERS-NR (N8) END-DEFINE * INPUT #PERS-NR * WRITE *PROGRAM 'Record updated with personnel number:' #PERS-NR * END
** Example 'FETEXDE': FETCH (called by FETEX1) ************************************************************************ DEFINE DATA LOCAL 1 #PERS-NR (N8) END-DEFINE * INPUT #PERS-NR * WRITE *PROGRAM 'Record deleted with personnel number:' #PERS-NR * END
SELECTION MENU FOR EMPLOYEES SYSTEM ----------------------------------- ADD (A) UPDATE (U) DELETE (D) STOP (.) PLEASE ENTER FUNCTION: D PERSONNEL NUMBER: 1150304
Page 1 05-01-13 11:58:46 FETEXDE Record deleted with personnel number: 1150304