自由形式構文 | (許可されていない - CALLP 命令コードを使用) |
コード | 演算項目 1 | 演算項目 2 | 結果フィールド | 標識 | ||
---|---|---|---|---|---|---|
CALLB (D E) | プロシージャー名またはプロシージャー・ポインター | PLIST 名 | _ | ER | LR |
CALLB 命令は、ILE 言語で書かれたバインド・プロシージャーの呼び出しに使 用されます。
操作記述子を組み込むために命令拡張 D を使用することができます。これは、キーワード OPDESC でパラメーターが定義されている場合に、CALLP でプロトタイプ・プロシージャーを呼び出すのと同様です。(操作記述子は、プログラマーに、渡された文字または図形ストリングの正確 な属性 (すなわち、ストリングの長さおよびタイプ) の実行時解析を提供します。) 詳細については、「WebSphere Development Studio: ILE RPG プログラマーの手引き」のプログラムおよび プロシージャーの呼び出しに関する章を参照してください。
演算項目 2 は必須で、呼び出されるプロシージャーの名前が入っているリテラ ルまたは定数、あるいは呼び出されるプロシージャーのアドレスが入って いるプロシージャー・ポインターでなければなりません。 すべての参照は、バインド時に解析できるものでなければなりません。 指定するプロシージャー名は大文字と小文字が区別され、10 桁以上 255 桁以 下とすることができます。 名前が 255 桁を超えた場合には、255 桁で切り捨て られます。 結果フィールドは任意指定で、PLIST 名を入れることができます。
CALLB 例外 (プログラム状況コードが 202、211、 または 231) を処理するために、命令コード拡張 'E' またはエラー標識 ER を指定 できますが、両方を指定することはできません。 エラー処理の詳細について は、プログラム例外/エラーを参照してください。
75-76 桁目に指定された標識は、呼び出しが LR をオンに設定して終わった時 にオンに設定されます。
呼び出し命令の詳細については、呼び出し命令を参照してください。
DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++ * Define a procedure pointer D D ProcPtr S * PROCPTR INZ(%PADDR('Create_Space')) D Extern S 10 D CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.... * The following call linkage would be STATIC C CALLB 'BOUNDPROC' * The following call linkage would be DYNAMIC C CALL Extern * The following call linkage would be STATIC, using a procedure pointer C CALLB ProcPtr
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.