FETCH
|
REPEAT
|
operand1 [operand2 [(parameter)]] | ||||
RETURN
|
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連ステートメント: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
で渡されたパラメータの他に、グローバルデータエリアにもアクセスできます。
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 |
ユーザー操作の必要性の排除:
|
---|---|
RETURN |
プログラムタイプのオブジェクトのルーチンとして呼び出しおよび実行:
|
operand1 |
プログラム名:
プログラムモジュール名(最大 8 文字)は、英数字定数で指定するか、英数字フォーマットのユーザー定義変数(長さ 1~8)の内容として指定します。 Natural は、 プログラム名にアンパサンド(&)を含むこともできます。これは、実行時にシステム変数 |
operand2 |
パラメータフィールドの引き渡し:
次の 注意: |
parameter |
日付変数の日付形式:
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