バインド可能 API の使用
バインド可能アプリケーション・プログラミング・インターフェース (API) は、すべての ILE 言語に使うことができます。 場合によっては、特定の ILE 言語が提供する以上の追加機能を提供します。 これらはまた、HLL に依存しないので、混合言語のアプリケーションで有用です。
バインド可能 API は、次のような広範囲にわたる機能を提供します。
- 活動化グループおよび制御流れ管理
- ストレージ管理
- 条件管理
- サービス・メッセージ
- ソース・デバッガー
- 数学関数
- 呼び出し管理
- 操作記述子アクセス
ILE RPG が使うのと同じ呼び出しメカニズムを使って ILE バインド可能 API にアクセスし、プロシージャー、すなわち CALLP 命令や CALLB 命令を呼び出します。 API が値を戻し、ユーザーがそれを使用したい場合には、式の中で API を呼び出し てください。API のプロトタイプを定義するために必要となる情報については、Web サイト http://www.ibm.com/systems/i/infocenter/ で IBM® i Information Center の中の『プログラミング』カテゴリーの『CL および API』節の API の説明を参照してください。図 1 はバインド可能 API の「呼び出し」例です。
図 1. ILE バインド可能 API のサンプル呼び出し構文
D CEExxxx PR EXTPROC('CEExxxx')
D parm1 ...
D ...
C CALLP CEExxxx( parm1 : parm2 : … :
parmn : feedback)
or
C CALLB 'CEExxxx'
C PARM parm1
C PARM parm2
...
C PARM parmn
C PARM feedback
ここで、
- CEExxxx はバインド可能 API の名前です。
- parm1、parm2、... parmn は、 呼び出される API との間で受け渡しされる省略可能パラメーターまたは 必須パラメーターです。
- feedback は、バインド可能 API の結果を示す、省略可能な フィードバック・コードです。
注: バインド可能 API は
CRTBNDRPG コマンドに DFTACTGRP(*YES) を指定した場合には、使用できません。
バインド可能 API についての詳細は、Web サイト http://www.ibm.com/systems/i/infocenter/ で IBM i Information Center の中の『プログラミング』カテゴリーの『CL および API』の節を参照してください。