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