機械翻訳について

B ゲートウェイRPCインタフェース

Oracle Database Gateway for APPCを使用してリモート・トランザクション・プログラムを実行するには、PL/SQLプログラムを実行して、リモート・プロシージャ・コール(RPC)を使用してゲートウェイ関数をコールする必要があります。 ゲートウェイ関数は、リモート・トランザクション・プログラムとのゲートウェイ会話の開始、データ交換および終了を処理します。

Oracle Database Gateway for APPCには、COBOLレコード・レイアウトおよび PGDL (Procedural Gateway Definition Language)の形式で指定した定義に基づいて、 PL/SQLパッケージ(TIP)を自動的に生成するツールPGAUが含まれています。

ゲートウェイ関数は、すべてリモート・プロシージャ・コール(RPC)を介して実行されます。 関数は、次のように PL/SQLコードからコールされます:

function@dblink(parm1,parm2,...,parmn); 

ここで、「表B-1」は、次の構文のパラメータを示します:

表B-1 ゲートウェイ関数

項目 説明

function

呼び出される関数の名前です。

dblink

Windowsシステム上のゲートウェイ・サーバーへの事前定義済データベース・リンクの名前です。

parm1, parm2,parmn

この付録の後半で説明する関数固有のパラメータです。

関数名の後に@dblink表記法を使用してPL/SQLコード内の関数をコールすることは、リモート・プロシージャ・コールです。

B.1 PGAINITおよびPGAINIT_SEC

PGAINIT およびPGAINIT_SECは、指定されたトランザクション・プログラムとのAPPC対話を開始するリモート・プロシージャ・コールです。 2つの違いは、PGAINIT_SECには、ゲートウェイ会話セキュリティ・ユーザーIDとパスワードを現在のOracleユーザーIDとパスワード以外の値に設定できる追加機能が含まれていることです。 いずれかの関数が正常に完了すると、会話はリモート・トランザクション・プログラムにデータを送信する準備が整います。

「表B-2」は、両方のプロシージャで共通するPGAINITおよびPGAINIT_SECパラメータを示します。 各パラメータのタイプ、データ型および説明をリストします:

表B-2 一般的なPGAINITおよびPGAINIT_SECパラメータ

パラメータ タイプ データ型 説明

CONVID

OUT

RAW(12)

SNAを使用するゲートウェイの場合: PGAXFERおよびPGATERM関数への会話の識別に使用される、PGAINIT関数によって返される会話識別子。 PGAINITがコールされた後は、この変数を変更しないでください。変更しないと、結果が予測できなくなります。

TCP/IPを使用するゲートウェイの場合: PGAXFER関数およびPGATERM関数への会話の識別に使用される、PGAINIT関数によって返されるソケット・ファイル記述子。 PGAINITがコールされた後は、この変数を変更しないでください。変更しないと、結果が予測できなくなります。

TPNAME

IN

VARCHAR2(64)

会話を確立するリモート・トランザクション・プログラムのトランザクション・プログラム名。 ほとんどのOLTPでは、その名前はOLTPに定義されているトランザクション名である必要があります。 この名前は、1から64文字の長さで指定できます。

「ノート: TCP/IPサポートの場合」。最大サイズは8文字です。 詳細は、Oracle Database Gateway for APPCインストレーションおよび構成ガイドfor IBM AIX on POWER Systems (64-Bit)、Linux x86-64、Oracle Solaris on SPARC (64-Bit)およびHP-UX ItaniumまたはOracle Database Gateway for APPCインストレーションおよび構成ガイドfor Microsoft Windowsの付録B 「TCP/IP通信プロトコルのゲートウェイ初期化パラメータ」を参照してください。

LUNAME

IN

VARCHAR2(17)

SNAを使用するゲートウェイの場合: リモート・トランザクション・プログラムが実行されるOLTPのLU名。 このパラメータは完全修飾LU名または別名で、長さは1-17文字です。

TCP/IPを使用するゲートウェイの場合: このパラメータは適用できません。

MODENAME

IN

VARCHAR2(8)

SNAを使用するゲートウェイの場合: リモート・ホスト上のlogmode表エントリのログ・モード・エントリ名。APPC対話のセッション特性を定義します。 この名前は、1から8文字で入力します。

TCP/IPを使用するゲートウェイの場合: このパラメータは適用できません。

PROFNAME

IN

VARCHAR2(8)

会話を定義するSNA側情報プロファイルのプロファイル名。 この名前は、1から8文字で入力します。

TCP/IPを使用するゲートウェイの場合: この名前は、同様のTCP/IP属性とIMS Connect属性に類似したIMSトランザクションのグループを表します。

SYNCLEVEL

IN

CHAR(1)

この会話の場合はSYNCLEVEL この値は'0'または'1'にする必要があります。

SYNCLEVEL 0は、リモート・トランザクション・プログラムに同期機能がないことを示します。

SYNCLEVEL 1は、リモート・トランザクション・プログラムがCONFIRMリクエストに応答できることを示し、リモート・トランザクション・プログラムがリモート・ホスト上のデータベースを更新するときにデータの整合性を確保するために使用されます。

「表B-3」は、プロシージャに固有のPGAINIT_SECパラメータをリストします:

表B-3 PGAINIT_SECプロシージャに固有のパラメータ

パラメータ タイプ データ型 説明

USERID

IN

VARCHAR2(8)

ターゲットOLTPに渡される会話セキュリティ・ユーザーID。 値は1から8文字までの長さである必要があります。

PASSWORD

IN

VARCHAR2(8)

ターゲットOLTPに渡される会話セキュリティ・パスワード。 値は1から8文字までの長さである必要があります。

SNAプロトコルを使用するゲートウェイの場合:

PROFNAMELUNAME/TPNAME/MODENAMEの間には相互関係があります。 PROFNAMEが空白またはNULL値に設定されている場合、LUNAMETPNAMEおよびMODENAMEパラメータはすべて空白以外の値である必要があります。 すべてが空白以外の値に設定されていない場合は、例外が生成されます。 ただし、PROFNAMEが有効な Side Information Profile名に設定されている場合は、Side Informationプロファイルによって会話を確立するために必要なすべての情報が指定されるため、LUNAMETPNAMEおよびMODENAMEパラメータをnullまたは空白にできます。 この場合、LUNAMETPNAMEまたはMODENAMEに指定された空白でないnull以外の値は、Side Informationプロファイルで設定された値をオーバーライドします。 PROFNAMEは設定する必要があり、空白またはnullにできません。

TCP/IPプロトコルを使用するゲートウェイの場合:

PROFNAME およびTPNAMEは設定する必要があり、空白またはnullにできません。

B.2 PGAXFER

PGAXFER は、PGAINITによって初期化されるゲートウェイ会話上のリモート・トランザクション・プログラムとの間でデータを転送するためにコールされます。 関数は、コール元パラメータに基づいてデータ・アイテムを送受信します。

「表B-4」は、PGAXFERパラメータのタイプ、データ型および説明をリストします:

表B-4 PGAXFERパラメータ

パラメータ タイプ データ型 説明

CONVID

IN

RAW(12)

SNAを使用するゲートウェイの場合: 会話の識別に使用されるPGAINIT関数によって返される会話識別子。

TCP/IPを使用するゲートウェイの場合: 会話の識別に使用されるPGAINIT関数によって返されるソケット・ファイル記述子。

SENDBUF

IN

RAW(32763)

リモート・トランザクション・プログラムに送信されるすべてのデータ・アイテムを含むバッファ。 データ・アイテムはそのまま送信され、変更は行われません。 データ・アイテムは、リモート・トランザクション・プログラムが受信する順序どおりにバッファ内に存在する必要があります。 すべてのデータ・アイテムの合計サイズが、1つのゲートウェイ送信の最大サイズ(マップされたゲートウェイ会話の 32,763バイト)を超えることはできません。

SENDBUFL

IN

BINARY_INTEGER

SENDBUFに含まれるデータ・アイテムの合計長。 範囲は0です-32,763 bytes. 送信するデータ・アイテムがない場合、値'0'が使用されます。

SENDLNS

IN

RAW(1024)

最大256 4バイトの整数値の配列を含むバッファ。 最初の整数値では、送信バッファに含まれるデータ・アイテムの数を指定します(SENDBUF)。 データ・アイテム数は、データ・アイテムの長さを指定する一連の整数値です。 データ・アイテムの数とデータ・アイテムの長さの値の数との間に完全一致が必要です。 この配列では、最大255データ・アイテムを記述できます。 すべてのデータ・アイテムの長さの合計は、SENDBUFLの合計長を超えることはできません。

RECVBUF

OUT

RAW(32763)

リモート・トランザクション・プログラムから受信したすべてのデータ・アイテムを格納するバッファ。 データ・アイテムは、リモート・トランザクション・プログラムが送信する正確な順序でこのバッファに格納されます。 すべてのデータ・アイテムの合計サイズは、32,763 バイトの最大サイズを超えることはできません。

RECVBUFL

IN

BINARY_INTEGER

受信バッファの合計長。 範囲は0です-32,763 bytes. 受信するデータ・アイテムがない場合、値'0'が使用されます。

RECVLNS

INOUT

RAW(1024)

最大256 4バイトの整数値の配列を含むバッファ。 最初の整数値では、受信バッファに受信されるデータ・アイテムの数を指定します(RECVBUF)。 データ・アイテム数の後には、受信するデータ・アイテムの最大長を指定する一連の整数値があります。 出力時に、これらの値は受信したデータ・アイテムの実際の長さで置き換えられます。 データ・アイテムの数とデータ・アイテムの長さの値の数との間に完全一致が必要です。 この配列では、最大255データ・アイテムを記述できます。 すべてのデータ・アイテムの長さの合計は、受信バッファの合計長(RECVBUFL)を超えることはできません。

PGAXFERがコールされる場合、SENDBUFLRECVBUFLのいずれかまたは両方をゼロ以外にする必要があります。つまり、リモート・トランザクション・プログラムに対して少なくとも1つのデータ・アイテムを送信または受信する必要があります。 送信または受信するデータ・アイテムなしでPGAXFERがコールされると、例外が生成されます。

ノート:

PGAXFERコールごとに、すべての送信処理が最初に実行され、その後にすべての受信処理が実行されます。 トランザクションが複数の送信および受信セットを必要とする方法で動作する場合、トランザクションに対応するためにPGAXFERを複数回コールできます。 32,763バイトを超えるデータを送信または受信する場合は、PGAXFERに対して複数のコールを実行する必要があります。

B.3 PGATERM

PGATERM は、PGAINITへの以前のコールによって開始されたゲートウェイ会話を終了するためにコールされます。 この関数が正常に完了すると、会話は割当て解除され、それに関連付けられたすべてのストレージが解放されます。

「表B-5」は、PGATERMパラメータのタイプ、データ型および説明を示します:

表B-5 PGATERMパラメータ

パラメータ タイプ データ型 説明

CONVID

IN

RAW(12)

SNAを使用するゲートウェイの場合: 会話の識別に使用されるPGAINIT関数によって返される会話識別子。

使用するゲートウェイの場合 TCP/IP: 会話の識別に使用されるPGAINIT関数によって返されるソケット・ファイル記述子。

TERMTYPE

IN

CHAR(1)

実行する終了のタイプ。0は正常終了を示し、1は非標準終了を示します。これはエラーが発生した場合にのみリクエストされます。

B.4 PGATCTL

PGATCTL は、%ORACLE_HOME%\dg4appc\admin\initsid.oraファイルのTRACE_LEVELパラメータ(Microsoftの場合)またはUNIXベースのシステムの$ORACLE_HOME/dg4appc/admin/initsid.oraファイルでコールされます。 PGATCTLを使用すると、トレース・レベルを PL/SQLストアド・プロシージャ内から動的に変更できます。 この機能は、新しいPL/SQLアプリケーションをデバッグする場合に便利です。

表B-6は、PGATCTL内のパラメータのタイプ、データ型および説明を示します:

表B-6 PGATCTLパラメータ

パラメータ タイプ データ型 説明

CONVID

IN

RAW(12)

SNAを使用するゲートウェイの場合: 会話の識別に使用されるPGAINIT関数によって返される会話識別子。

使用するゲートウェイの場合 TCP/IP: 会話の識別に使用されるPGAINIT関数によって返されるソケット・ファイル記述子。

TRFUNC

IN

CHAR(1)

実行するトレース制御機能。 有効な値は、次のとおりです。

'S' - トレース・フラグを、TRFLAGSパラメータで指定された正確な値に設定します。

'E' - 他のフラグを変更せずに、TRFLAGSパラメータで指定されたトレース・フラグを有効にします。

'D' - TRFLAGSパラメータで指定されたトレース・フラグを、他のフラグを変更せずに無効にします。

TRFLAGS

IN

BINARY_INTEGER

トレース・フラグ。

TRACE_LEVELをオンにします。 プロトコルがSNAの場合の詳細は、Oracle Database Gateway for APPCインストレーションおよび構成ガイドfor IBM AIX on POWER Systems (64-Bit)、Linux x86-64、Oracle Solaris on SPARC (64-Bit)およびHP-UX ItaniumまたはOracle Database Gateway for APPCインストレーションおよび構成ガイドfor Microsoft Windowsの付録A 「SNAプロトコルのゲートウェイ初期化パラメータ」を参照してください。

Oracle Database Gateway for APPCインストレーションおよび構成ガイドfor IBM AIX on POWER Systems (64-Bit)、Linux x86-64、Oracle Solaris on SPARC (64-Bit)およびHP-UX ItaniumまたはOracle Database Gateway for APPCインストレーションおよび構成ガイドfor Microsoft Windowsの付録B 「TCP/IP通信プロトコルのゲートウェイ初期化パラメータ」を参照してください。

B.5 PGATRAC

この関数は、ユーザー・データの行をPGAトレース・ファイルに書き込むためにコールされます。 PGATRACを使用すると、PL/SQLプロシージャ内のフローは、トレースされるイベントとともに、Microsoft Windowsの場合は%ORACLE_HOME%\dg4appc\admin\initsid.oraTRACE_LEVEL、UNIXベースのシステムでは$ORACLE_HOME/dg4appc/admin/initsid.oraに基づいてトレースできます。 これは、新しいPL/SQLアプリケーションを開発する際に便利なデバッグ・ツールです。

「表B-7」は、PGATRACパラメータのタイプ、データ型および説明を示します:

表B-7 PGATRACパラメータ

パラメータ タイプ データ型 説明

TRDATA

IN

VARCHAR2(120)

ゲートウェイ・トレース・ファイルに書き込まれるユーザー・データの行。 内容は印刷可能文字である必要があります。