バインド可能 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』の節を参照してください。