C UTL_PGインタフェース
Oracle Database Gateway for APPCでは、Oracle Netに変更を加えずにPL/SQLとの間でデータを転送するために RAWデータ型を使用する必要があります。 これは、PL/SQLアプリケーションのみが、リモート・トランザクション・プログラムとの間で送受信されるデータの形式に関する情報を持つため、必要です。 Oracle Netには、PL/SQLアプリケーションとゲートウェイ・サーバーが実行されているシステムに関する情報しかありません。 Oracle NetがPL/SQLとゲートウェイの間を流れるデータに対して変換を実行できる場合、データは間違った形式になることがあります。
トピック:
注意:
IBM VS COBOL IIコンパイラはサポート対象外です。 ただし、文字列IBMVSCOBOLII
は、使用する任意のCOBOLコンパイラを表すコンパイラ名パラメータ値として引き続き使用されます。 値IBMVSCOBOLII
は引き続き使用され、コンパイラの特定バージョンに依存しません。
UTL_PG関数
UTL_PG
パッケージは、PL/SQLの拡張機能であり、COBOL数値書式をOracle番号とOracle番号をCOBOL数値書式に変換するための全機能を提供します。
UTL_PG
変換フォーマットこのリリースでは、RAWは移植性がありません。 さらに、あるシステムで変換フォーマットRAWを生成し、別のシステムに転送することはサポートされていません。
このセクションにリストされている関数は、標準のPL/SQLの方法で呼び出されます:
package_name.function_name(arguments)
具体的には、UTL_PG
ルーチンの場合は次のようになります:
UTL_PG.function_name(arguments)
以下にリストされている各関数には、関数名、引数とそのデータ型、戻り値のデータ型が用意されています。 特記のない限り、パラメータはOUT
ではなく、IN
です。
共通パラメータ
次のUTL_PG
関数は、それらの間でいくつかの同様のパラメータを共有します:
-
RAW_TO_NUMBER
-
MAKE_NUMBER_TO_RAW_FORMAT
-
MAKE_RAW_TO_NUMBER_FORMAT
-
NUMBER_TO_RAW
これらの同様のパラメータは、「表C-1」で詳細に説明されており、この付録の各UTL_PG
関数のパラメータをリストした後続の表では名前でのみ参照されています。
共通入力パラメータ
「表C-1」は、すべてのUTL_PG
関数に共通の入力パラメータを記述します:
表C-1 UTL_PG関数に共通の入力パラメータ
パラメータ | 説明 |
---|---|
|
コンパイラのデータ型マスクです。 これは変換されるデータ型で、指定されたコンパイラのソース言語( |
|
コンパイラのデータ型マスク・オプションまたは |
|
コンパイラ環境句または |
|
コンパイラ名です。 サポートされている値は |
|
コンパイラ・オプションまたは |
|
「グローバリゼーション・サポート」形式、 |
|
警告インジケータです。 変換警告メッセージをwmsgblk |
|
警告メッセージ・ブロックのバイト単位の宣言サイズです。 これは、 |
共通出力パラメータ
「表C-2」は、UTL_PG
関数に共通の出力パラメータを記述します:
表C-2 UTL_PG関数に共通の出力パラメータ
パラメータ | 説明 |
---|---|
|
警告メッセージ・ブロックです。 これは、
|
RAW_TO_NUMBER
RAW_TO_NUMBER
は、RAWバイト文字列r
を、mask,
maskopts,
envrnmnt,
compname,
compopts,
およびnlslang
で指定されたリモート・ホスト内部形式からOracle番号に変換します。
有効な場合は、指定された変換がデータに含まれる変換と競合した場合、または競合するフォーマット仕様が提供された場合に警告が発行されます。
mask,
maskopts,
envrnmnt,
compname
およびcompopts
引数の詳細については、「"NUMBER_TO_RAWおよびRAW_TO_NUMBERの引数値"」を参照してください。
構文
function RAW_TO_NUMBER (r IN RAW, mask IN VARCHAR2, maskopts IN VARCHAR2, envrnmnt IN VARCHAR2, compname IN VARCHAR2, compopts IN VARCHAR2, nlslang IN VARCHAR2, wind IN BOOLEAN, wmsgbsiz IN BINARY_INTEGER, wmsgblk OUT RAW) RETURN NUMBER;
「表C-3」がこの関数のパラメータを記述する場所:
表C-3 RAW_TO_NUMBERファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
変換されるリモート・ホスト・データです。 |
|
コンパイラのデータ型マスクです。 |
|
コンパイラのデータ型マスク・オプションまたは |
|
コンパイラ環境句または |
|
コンパイラ名です。 |
|
コンパイラ・オプションまたは |
|
「グローバリゼーション・サポート」形式の区切り10進コードページです。 |
|
警告インジケータです。 |
|
警告メッセージのブロック・サイズ(バイト)です。 |
|
警告メッセージ・ブロックです。 これは |
デフォルトとオプション・パラメータ
「表C-4」は、RAW_TO_NUMBER
関数のデフォルトおよびオプションのパラメータを記述します:
表C-4 RAW_TO_NUMBER関数のオプション・パラメータとデフォルト・パラメータ
パラメータ | 説明 |
---|---|
|
nullが許可され、デフォルト値はありません |
|
nullが許可され、デフォルト値はありません |
|
nullが許可され、デフォルト値はありません |
戻り値
値がr
に対応するOracle番号。
エラーと警告メッセージ
ORA-xxxxエラーまたは警告メッセージが表示された場合は、その説明および処理方法については「Oracle Databaseエラー・メッセージ」を参照してください。
NUMBER_TO_RAW
NUMBER_TO_RAW
は、宣言された精度とスケールのOracle番号n
を、mask
、maskopts,
envrnmnt,
compname,
compopts
、およびnlslang
で指定されたリモート・ホスト内部形式のRAWバイト文字列に変換します。
有効な場合は、指定された変換がデータに含まれる変換と競合した場合、または競合するフォーマット仕様が提供された場合に警告が発行されます。
mask,
maskopts,
envrnmnt,
compname,
およびcompopts
引数の詳細については、「"NUMBER_TO_RAWおよびRAW_TO_NUMBERの引数値"」を参照してください。
構文
function NUMBER_TO_RAW (n IN NUMBER, mask IN VARCHAR2, maskopts IN VARCHAR2, envrnmnt IN VARCHAR2, compname IN VARCHAR2, compopts IN VARCHAR2, nlslang IN VARCHAR2, wind IN BOOLEAN, wmsgbsiz IN BINARY_INTEGER, wmsgblk OUT RAW) RETURN RAW;
「表C-5」がこの関数のパラメータを記述する場所:
表C-5 NUMBER_TO_RAWファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
変換されるOracle番号です。 |
|
コンパイラのデータ型マスクです。 |
|
コンパイラのデータ型マスク・オプションまたは |
|
コンパイラ環境句または |
|
コンパイラ名です。 |
|
コンパイラ・オプションまたは |
|
「グローバリゼーション・サポート」形式の区切り10進コードページです。 |
|
警告インジケータです。 |
|
警告メッセージのブロック・サイズ(バイト)です。 |
|
警告メッセージ・ブロックです。 これは |
デフォルトとオプション・パラメータ
「表C-6」は、NUMBER_TO_RAW
関数のデフォルトとオプションのパラメータを記述します:
表C-6 NUMBER_TO_RAW関数のデフォルトおよびオプションのパラメータ
パラメータ | 説明 |
---|---|
|
nullが許可され、デフォルト値はありません |
|
nullが許可され、デフォルト値はありません |
|
nullが許可され、デフォルト値はありません |
戻り値
値がn
に対応するRAW値。
エラーと警告メッセージ
ORA-xxxxエラーまたは警告メッセージが表示された場合は、その説明および処理方法については「Oracle Databaseエラー・メッセージ」を参照してください。
MAKE_RAW_TO_NUMBER_FORMAT
MAKE_RAW_TO_NUMBER_FORMAT
は、mask,
maskopts,
envrnmnt,
compname,
compopts,
とnlslang
で指定されたリモート・ホスト内部フォーマットからRAWバイト・ストリングを同等の精度とスケールのOracle番号に変換するために使用されるRAW_TO_NUMBER
フォーマット変換仕様を作成します。
有効な場合は、指定された変換がデータに含まれる変換と競合した場合、または競合するフォーマット仕様が提供された場合に警告が発行されます。
この関数は、UTL_PG.RAW_TO_NUMBER_FORMAT
に渡すことができる変換フォーマットを含むRAW値を返します。
mask,
maskopts
、envrnmnt
、compname
、およびcompopts
引数の詳細については、「"NUMBER_TO_RAWおよびRAW_TO_NUMBERの引数値"」を参照してください。
構文
function MAKE_RAW_TO_NUMBER_FORMAT (mask IN VARCHAR2, maskopts IN VARCHAR2, envrnmnt IN VARCHAR2, compname IN VARCHAR2, compopts IN VARCHAR2, nlslang IN VARCHAR2, wind IN BOOLEAN, wmsgbsiz IN BINARY_INTEGER, wmsgblk OUT RAW) RETURN RAW;
「表C-7」がこの関数のパラメータを記述する場所:
表C-7 MAKE_RAW_TO_NUMBER_FORMATファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
コンパイラのデータ型マスクです。 |
|
コンパイラのデータ型マスク・オプションまたは |
|
コンパイラ環境句または |
|
コンパイラ名です。 |
|
コンパイラ・オプションまたは |
|
「グローバリゼーション・サポート」形式の区切り10進コードページです。 |
|
警告インジケータです。 |
|
警告メッセージのブロック・サイズ(バイト)です。 |
|
警告メッセージ・ブロックです。 これは |
デフォルトとオプション・パラメータ
「表C-8」は、MAKE_RAW_TO_NUMBER_FORMAT
関数のデフォルトとオプションのパラメータを記述します:
表C-8デフォルトおよびオプションのMAKE_RAW_TO_NUMBER_FORMATパラメータ
パラメータ | 説明 |
---|---|
|
nullが許可され、デフォルト値はありません |
|
nullが許可され、デフォルト値はありません |
|
nullが許可され、デフォルト値はありません |
戻り値
RAW_TO_NUMBER
のRAW(2048)
フォーマット変換仕様。
エラーと警告メッセージ
ORA-xxxxエラーまたは警告メッセージが表示された場合は、「Oracle Databaseエラー・メッセージ」ガイドを参照して、その説明および処理方法に関する情報を入手してください。
MAKE_NUMBER_TO_RAW_FORMAT
MAKE_NUMBER_TO_RAW_FORMAT
は、mask,
maskopts,
envrnmnt
、compname
、compopts
、およびnlslang.
で指定されたリモート・ホスト内部フォーマットのRAWバイト文字列に、宣言された精度と位取りのOracle番号を変換するために使用されるNUMBER_TO_RAW
形式変換仕様を作成
有効な場合は、指定された変換がデータに含まれる変換と競合した場合、または競合するフォーマット仕様が提供された場合に警告が発行されます。
この関数は、UTL_PG.NUMBER_TO_RAW_FORMAT
に渡すことができる変換フォーマットを含むRAW値を返します。 結果フォーマットRAWの実装長は2048バイトです。
mask,
maskopts,
envrnmnt,
compname
およびcompopts
引数の詳細については、「"NUMBER_TO_RAWおよびRAW_TO_NUMBERの引数値"」を参照してください。
構文
function MAKE_NUMBER_TO_RAW_FORMAT (mask IN VARCHAR2, maskopts IN VARCHAR2, envrnmnt IN VARCHAR2, compname IN VARCHAR2, compopts IN VARCHAR2, nlslang IN VARCHAR2, wind IN BOOLEAN, wmsgbsiz IN BINARY_INTEGER, wmsgblk OUT RAW) RETURN RAW;
「表C-9」がこの関数のパラメータを記述する場所:
表C-9 MAKE_NUMBER_TO_RAW_FORMATファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
コンパイラのデータ型マスクです。 |
|
コンパイラのデータ型マスク・オプションまたは |
|
コンパイラ環境句または |
|
コンパイラ名です。 |
|
コンパイラ・オプションまたは |
|
「グローバリゼーション・サポート」形式の区切り10進コードページです。 |
|
警告インジケータです。 |
|
警告メッセージのブロック・サイズ(バイト)です。 |
|
警告メッセージ・ブロックです。 これは |
デフォルトとオプション・パラメータ
「表C-10」は、MAKE_NUMBER_TO_RAW_FORMAT
関数のデフォルトとオプションのパラメータを記述します:
表C-10オプションのデフォルト・パラメータ: MAKE_NUMBER_TO_RAW_FORMAT
パラメータ | 説明 |
---|---|
|
nullが許可され、デフォルト値はありません |
|
nullが許可され、デフォルト値はありません |
|
nullが許可され、デフォルト値はありません |
戻り値
NUMBER_TO_RAW
のRAW(2048)
フォーマット変換仕様。
エラーと警告メッセージ
ORA-xxxxエラーまたは警告メッセージが表示された場合は、「Oracle Databaseエラー・メッセージ」ガイドを参照して、その説明および処理方法に関する情報を入手してください。
RAW_TO_NUMBER_FORMAT
構文
function RAW_TO_NUMBER_FORMAT (rawval IN RAW, r2nfmt IN RAW) RETURN NUMBER;
ここで、「表C-11」はこの関数のパラメータを記述します:
表C-11 RAW_TO_NUMBER_FORMATファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
変換されるリモート・ホスト・データです。 |
|
|
デフォルト
なし
戻り値
値がr
に対応するOracle番号。
エラーと警告メッセージ
ORA-xxxxエラーまたは警告メッセージが表示された場合は、「Oracle Databaseエラー・メッセージ」ガイドを参照して、その説明および処理方法に関する情報を入手してください。
NUMBER_TO_RAW_FORMAT
NUMBER_TO_RAW_FORMAT
は、NUMBER_TO_RAW
変換フォーマットn2rfmt
に従って、宣言された精度とスケールのOracle番号numval
をリモート・ホスト内部フォーマットのRAWバイト・ストリングに変換します。
構文
function NUMBER_TO_RAW_FORMAT (numval IN NUMBER, n2rfmt IN RAW) RETURN RAW;
「表C-12」がこの関数のパラメータを記述する場所:
表C-12 NUMBER_TO_RAW_FORMATファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
変換されるOracle番号です。 |
|
|
デフォルト
なし
戻り値
値がn
に対応するRAW値。
エラーと警告メッセージ
ORA-xxxxエラーまたは警告メッセージが表示された場合は、「Oracle Databaseエラー・メッセージ」ガイドを参照して、その説明および処理方法に関する情報を入手してください。
WMSGCNT
構文
function WMSGCNT (wmsgblk IN RAW) RETURN BINARY_INTEGER;
ここで、「表C-13」はこの関数のパラメータを記述します。
表C-13 WMSGCNT関数のパラメータ
パラメータ | 説明 |
---|---|
|
次のいずれかの関数から返される警告メッセージ・ブロックです:
|
デフォルト
なし
戻り値
RAW wmsgblk
に存在する警告の数に等しいBINARY_INTEGER
値。
「表C-14」は可能な戻り値をリストします:
表C-14 WMSGCNTの戻り値
値 | 説明 |
---|---|
|
|
|
|
エラーと警告メッセージ
ORA-xxxxエラーまたは警告メッセージが表示された場合は、「Oracle Databaseエラー・メッセージ」ガイドを参照して、その説明および処理方法に関する情報を入手してください。
WMSG
構文
function WMSG (wmsgblk IN RAW, wmsgitem IN BINARY_INTEGER, wmsgno OUT BINARY_INTEGER, wmsgtext OUT VARCHAR2, wmsgfill OUT VARCHAR2) RETURN BINARY_INTEGER;
「表C-15」がこの関数のパラメータを記述する場所:
表C-15 WMSG関数のパラメータ
パラメータ | 説明 |
---|---|
|
次のいずれかの関数から返されたRAW警告メッセージ・ブロックです:
|
|
|
|
警告番号の |
|
ORA-xxxxx形式の完全形式の警告メッセージを含む |
|
次の形式で警告メッセージに代入される警告メッセージ・パラメータのリストを含む warnparm1;;warnparm2;;...;;warnparmn 各警告パラメータはダブル・セミ・コロンで区切られています。 |
デフォルト
なし
戻り値
ステータス戻りコードを含むBINARY_INTEGER
値。
戻りコードが"0"の場合は、wmsgno
、wmsgtext
、およびwmsgfill
が割り当てられて有効であることを示します。
エラーと警告メッセージ
ORA-xxxxエラーまたは警告メッセージが表示された場合は、「Oracle Databaseエラー・メッセージ」ガイドを参照して、その説明および処理方法に関する情報を入手してください。
「表C-16」は、受信可能なエラー・メッセージを示します:
表C-16 WMSG関数のエラー
エラー | 説明 |
---|---|
|
|
|
無効なメッセージ・ブロックを示します。 |
|
|
|
置換された警告パラメータが多すぎることを示します。 |
NUMBER_TO_RAWおよびRAW_TO_NUMBERの引数値
この表は、NUMBER_TO_RAW
とRAW_TO_NUMBER
および関連する関数の書式引数の有効な値をリストしています。 以下は、有効なCOBOLピクチャ・マスクの例です。 任意の有効なCOBOLピクチャ・マスクを使用することができます。 COBOLピクチャ・マスクの説明については、該当するIBM COBOLプログラミング・ガイドを参照してください。
mask: COBOL picture mask PIC 9(n) where 1 <= n <= 18 PIC S9(n) where 1 <= n <= 18 PIC 9(n)V9(s) where 1 <= n+s <= 18 PIC S9(n)V9(s) where 1 <= n+s <= 18 PIC S9999999V99 PIC V99999 PIC SV9(5) PIC 999.00 PIC 99/99/99 PIC ZZZ.99 PIC PPP99 PIC +999.99 PIC 999.99+ PIC -999.99 PIC 999.99- PIC $$$$$,$$$.99 PIC $9999.99DB PIC $9999.99CR maskopts:
COBOL picture mask options COMP USAGE IS COMP USAGE IS COMPUTATIONAL COMP-3 USAGE IS COMP-3 USAGE IS COMPUTATIONAL-3 COMP-4 USAGE IS COMP-4 USAGE IS COMPUTATIONAL-4 DISPLAY USAGE IS DISPLAY SIGN IS LEADING SIGN IS LEADING SEPARATE SIGN IS LEADING SEPARATE CHARACTER SIGN IS TRAILING SIGN IS TRAILING SEPARATE SIGN IS TRAILING SEPARATE CHARACTER envrnmnt:
COBOL environment clause CURRENCY SIGN ISx
wherex
is a valid currency sign character DECIMAL-POINT IS COMMA compname: COBOL compiler name IBMVSCOBOLII compopts: COBOL compiler options (no values are supported at this time)