C UTL_PGインタフェース
Oracle Database Gateway for APPCでは、 RAWデータ型を使用して、 Oracle Netによる変更なしで PL/SQLとの間でデータを転送する必要があります。 これは、PL/SQLアプリケーションのみが、リモート・トランザクション・プログラムとの間で送受信されるデータの形式に関する情報を持っているため必要です。 Oracle Netには、PL/SQLアプリケーションおよびゲートウェイ・サーバーが実行されているシステムに関する情報のみが含まれます。 Oracle NetがPL/SQLとゲートウェイの間で流れるデータに対して変換を実行できる場合、データが間違った形式になる可能性があります。
トピック:
ノート:
IBM VS COBOL IIコンパイラはサポート対象外です。 ただし、文字列"IBMVSCOBOLII
"は、使用するCOBOLコンパイラを表すコンパイラ名パラメータの値として引き続き使用されます。 値IBMVSCOBOLII
は引き続き使用する必要があり、特定のバージョンのコンパイラに対する依存関係は作成しません。
C.1 UTL_PG関数
UTL_PG
パッケージは、COBOL番号形式をOracle番号に変換し、Oracle番号をCOBOL番号形式に変換するための関数の完全なセットを提供するPL/SQLの拡張です。
UTL_PG
変換形式RAWは、このリリースでは移植できません。 また、あるシステムでの変換形式RAWの生成と別のシステムへの転送はサポートされていません。
この項に示す関数は、標準のPL/SQL方法で呼び出されます:
package_name.function_name(arguments)
特にUTL_PG
ルーチンの場合、次のようになります:
UTL_PG.function_name(arguments)
次に示す各関数について、関数名、引数とそのデータ型、および戻り値のデータ型が提供されます。 特に指定しないかぎり、パラメータはOUT
パラメータではなくIN
です。
C.1.1 共通パラメータ
次のUTL_PG
関数は、同じような複数のパラメータを共有します:
-
RAW_TO_NUMBER
-
MAKE_NUMBER_TO_RAW_FORMAT
-
MAKE_RAW_TO_NUMBER_FORMAT
-
NUMBER_TO_RAW
これらの同様のパラメータについては、「表C-1」で詳しく説明し、この付録の各UTL_PG
関数のパラメータをリストする後続の表で名前でのみ参照します。
C.1.1.1 共通入力パラメータ
「表C-1」は、すべてのUTL_PG
関数に共通する入力パラメータを示します:
表C-1 UTL_PG関数に共通する入力パラメータ
パラメータ | 説明 |
---|---|
|
コンパイラ・データ型マスクです。 これは、変換されるデータ型で、名前付きコンパイラのソース言語( |
|
コンパイラ・データ型マスク・オプションまたは |
|
コンパイラ環境句または |
|
コンパイラ名です。 サポートされている値は、 |
|
コンパイラ・オプションまたは |
|
「グローバル化のサポート」形式 |
|
警告インジケータです。 変換警告メッセージをwmsgblkの |
|
警告メッセージ・ブロックの宣言サイズ(バイト単位)です。 |
C.1.1.2 共通出力パラメータ
「表C-2」は、UTL_PG
関数に共通する出力パラメータを示します:
表C-2 UTL_PG関数に共通する出力パラメータ
パラメータ | 説明 |
---|---|
|
警告メッセージ・ブロックです。
|
C.1.2 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エラー・メッセージ」を参照してください。
C.1.3 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エラー・メッセージ」を参照してください。
C.1.4 MAKE_RAW_TO_NUMBER_FORMAT
MAKE_RAW_TO_NUMBER_FORMAT
は、RAWバイト文字列をmask,
maskopts,
envrnmnt,
compname,
compopts,
およびnlslang
で指定されたリモート・ホスト内部形式から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エラー・メッセージ」ガイドでその処理方法の説明と情報を参照してください。
C.1.5 MAKE_NUMBER_TO_RAW_FORMAT
MAKE_NUMBER_TO_RAW_FORMAT
は、mask,
maskopts,
envrnmnt
, compname
, compopts
およびnlslang.
で指定されたリモート・ホスト内部形式のRAWバイト文字列に宣言された精度およびスケールの数を変換するために使用される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エラー・メッセージ」ガイドでその処理方法の説明と情報を参照してください。
C.1.6 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エラー・メッセージ」ガイドでその処理方法の説明と情報を参照してください。
C.1.7 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エラー・メッセージ」ガイドでその処理方法の説明と情報を参照してください。
C.1.8 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エラー・メッセージ」ガイドでその処理方法の説明と情報を参照してください。
C.1.9 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機能エラー
エラー | 説明 |
---|---|
|
|
|
無効なメッセージ・ブロックを示します。 |
|
|
|
置換された警告パラメータが多すぎることを示します。 |
C.2 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)