2 プロシージャ・ゲートウェイ管理ユーティリティ
プロシージャ・ゲートウェイ管理ユーティリティ(PGAU)のは、PGA管理者またはユーザーがリモート・トランザクション・プログラムと交換するデータを定義できるようにするユーティリティです。 「ヒントの作成」、「ヒント内部」で説明されているPL/SQLトランザクション・インタフェース・パッケージ(TIP)を生成し、通信プロトコルに応じて「クライアント・アプリケーション開発(SNAのみ)」または「クライアント・アプリケーション開発(TCP/IPのみ)」を生成します。
トピック:
2.1 PGAUの概要
ノート:
以前にSNAプロトコルを使用してゲートウェイで生成された既存のTIPがあり、新しいTCP/IP機能を利用する場合は、必須のNLS_LANGUAGE
およびサイド・プロファイル設定を使用してPGAUによってTIPを再生成する必要があります。 DEFINE TRANSACTION
コマンドで適切なASCII文字セットを指定します。
これは、ゲートウェイが、適切なASCII文字セットとEBCDIC文字セット間を変換する、IMS Connect内の適切な「ユーザー出口」が使用されていると想定しているためです。
PGAUは、Oracleデータベース内の表の集合であるデータ・ディクショナリ PG DDを保持します。 これらの表には、リモート・トランザクション・データの定義と、そのデータをリモート・トランザクション・プログラムと交換する方法が保持されます。 TIPとそれぞれのリモート・トランザクション・プログラムの相関については、「ヒントおよびリモート・トランザクション・プログラムの対応の確認」を参照してください。 PG DDの内容によって、この相関が定義されます。
PGA管理者またはユーザーは、次の PGAUコマンド(文とも呼ばれる)を使用して、TIPとリモート・トランザクション・プログラムの相関を定義します:
-
PGAU
DEFINE TRANSACTION
文。前述のCALL
コマンドとDATA
コマンドをグループ化し、ネットワーク名やロケーションなど、リモート・トランザクション・プログラムに固有の特定の側面を記述します。 -
PGAU
GENERATE
文。PG DDでTIP/トランザクション相関が定義された後に、PGA管理者またはユーザーがTIP指定の指定および作成に使用します。 PG DDの定義を変更および削除するために必要な追加のPGAUコマンドについては、「PGAUコマンド」を参照してください。
PGAUコマンドは、まとめてプロシージャ・ゲートウェイ定義言語(PGDL)と呼ばれます。 PGDLへの参照は、このマニュアルで定義されているPGAUコマンドのコレクションに対するものです。
PGAUには、編集機能とスプール機能、およびSQLコマンドを発行する機能があります。
ノート:
一般的なデータベース管理では、SQL*PlusのかわりにPGAUを使用しないでください。
または、制御ファイルに PGAUコマンドを指定できます。 制御ファイルには、 PG DDを操作したり、TIP指定を生成するための1つ以上のPGAUコマンドが含まれています。
PGAUは、各操作でステータス・メッセージを発行します。 メッセージ・テキストは、グローバリゼーション・サポート・メッセージ・サポートを通じて提供されます。 PGAUは、各コマンドを順番に処理します。 1つのコマンドでエラーが発生すると、PGAUはそのコマンドをスキップします。
PGAUを実行するには、「PG DD」表がすでに作成されている必要があります。 インストール・ガイドの通信プロトコルに対応するゲートウェイ構成のセクションを参照してください。
2.2 COMMIT/ROLLBACK処理
次の項では、COMMIT/ROLLBACK
処理について説明します。
2.2.2 ROLLBACK処理
PGAUは、PG DDおよびPGAU GROUP
の先頭を変更する、各PGAUコマンドの最初に保存ポイントを設定します。 PGAUコマンドまたはグループ障害が発生すると、PGAUは保存ポイントにロールバックされます。
COMMIT
または ROLLBACK
コマンドは、PGAUスクリプト内でコーディングすることも、PGAU内で対話的にコーディングすることもできますが、GROUP
内ではコーディングできません。
PGAU GENERATE
またはREPORT
コマンドに対して、COMMIT
もROLLBACK
も発行されません。
障害発生時に変更をロールバックするためのPGAUコマンドのグループ化の詳細は、後の項のPGAU " GROUP "コマンドの説明を参照してください。
2.3 PGAUの起動
PGAUを起動する前に、Oracleデータベースが設定されている必要があります。 そうでない場合は、インストール・ガイドのOracle Database Gateway for APPCの構成に関する項を参照してください。
PGAUを実行する前に、ORACLE_HOME
環境変数をゲートウェイ・サーバーのインストール先ディレクトリに設定する必要があります。
英語以外の言語でPGAUメッセージを受信する場合は、LANGUAGE
環境変数を適切な値に設定します。
PGAUは、 pgau
コマンドを入力して起動します。 次の構文を使用してコマンドラインでコマンド文字列を指定することで、PGAUコマンドのプリペアド・スクリプトをオペレーティング・システム・プロンプトから直接実行できます:
Microsoft Windowsの場合:
C:\> pgau @command_file C:\> pgau command=@command_file C:\> pgau command="@command_file"
UNIXベース・システムの場合:
$ pgau @command_file $ pgau command=@command_file $ pgau command="@command_file"
デフォルトの拡張子は.sql
です。 コマンド・ファイル名に英数字以外の文字が含まれている場合は、最後の形式を使用します。
PG DDメンテナンスおよび PL/SQLパッケージ生成を実行するには、 CONNECT
コマンドを使用して、ユーザーPGAADMIN
としてPGAUからOracleデータベースに接続する必要があります。 「PGAUコマンド」セクションでは、" CONNECT "コマンドの使用方法について説明します。
2.4 PGAUでの定義と生成
このバージョンのPGAUでは、対話形式またはファイルに入力されたCOBOLでのリモート・トランザクション・データの定義がサポートされます。 ファイル入力は、DEFINE
およびREDEFINE DATA
コマンドでサポートされており、標準のCOBOLデータ分割マクロまたはコピーブックを指定できます。
PGAUおよび PG DDは、異なるバージョンのユーザー・データおよびリモート・トランザクション定義をサポートしています。 これにより、本番環境の使用に影響を与えることなく、データ形式およびトランザクションの変更およびテストが容易になります。
データまたはトランザクション定義の複数のバージョンが存在する場合があります。 PG DDに保存および使用されているバージョンがリモート・トランザクションと同期していることを確認する必要があります。 ゲートウェイ、PGAUおよび生成されたTIPのいずれもこの同期を提供しませんが、エラー条件が検出されると、メッセージは発行されます。
データ定義は、コール定義で参照される前に存在する必要があります。 コール定義は、トランザクション定義で参照される前に存在する必要があります。
ノート:
PG DDに保存および使用されているデータ・トランザクション定義バージョンがリモート・トランザクションと同期していることを確認するのは、ユーザーの責任です。 ゲートウェイ、PGAUおよび生成されたTIPでは、この同期は提供されませんが、エラー条件が検出されるとメッセージを発行します。
2.5 ヒントを定義およびテストするプロセス
特定のトランザクションのTIPを定義およびテストする一般的なプロセスは、次のとおりです:
- COBOLデータ定義を使用して入力と出力を定義します。
- 前述のプロセスによって作成されたデフォルトのデータ名とPL/SQL変数名を再定義します(オプション)。
- PL/SQLパッケージの一部として生成されるPL/SQL
FUNCTION
コールを定義します。 - 前述の機能をグループ化するトランザクションを定義します。
- 以前に格納した
TRANSACTION
、CALL
およびDATA
定義からTIP仕様を生成します。 - TIP PL/SQLストアド・プロシージャを生成します。
- 高レベルのアプリケーションからTIPをコールして、TIPをテストします。
ヒントの詳細は、「ヒントの作成」を参照してください。
2.5.1 定義名
定義名は、PGAUを使用して指定する一意の識別子です。 名前は1から30バイトの文字列です。 句読点または空白が含まれている場合は、名前を二重引用符で指定する必要があります。
名前はPG DD内で一意であるとみなされます。ただし、重複した名前が意図的に一意のバージョン番号で区別される場合を除きます。 名前の一意性を確保するのはあなたの責任です。
-
AからZ
-
aからz
-
0から9
-
#
-
$
-
_ (アンダースコア)
デフォルトがオーバーライドされないかぎり、トランザクション定義名はPL/SQLパッケージ名で、トランザクション・コール名はPL/SQLプロシージャ名です。 したがって、PL/SQLの構文的に正しい名前を選択し、そのシステム内で一意の名前であることを確認します。 ユーザーは、PL/SQL名の互換性を確保する必要があります。
2.5.2 定義バージョニング
「PGデータ・ディクショナリ」表には、トランザクションおよびデータ構造の説明が含まれています。 定義のバージョンが複数ある場合があります。 古いバージョンは無期限に保持されます。
すべてのPG DD操作では、定義またはパッケージはその名前で参照されます。 その名前は、特定のバージョン番号で修飾できます。
すべてのバージョン番号:
-
Oracle Sequenceオブジェクトによって提供されます
-
純粋に数値である
-
ユーザーの変更、サフィクスまたはプレフィクスを使用できない必要があります
バージョン番号の生成に使用されるOracle順序オブジェクトの特定の名前については、Microsoft Windowsの%ORACLE_HOME%\dg4appc\admin
ディレクトリにある「Database Gateway for APPCデータ・ディクショナリ」および pgddcr8.sql
ファイル、またはUNIXベースのシステムの$ORACLE_HOME/dg4appc/admin
ディレクトリを参照してください。
明示的なバージョン番号が指定されている場合は、新しい定義ではなく、既存の定義のバージョン番号であると想定されます。 このような明示的な参照は、次の場合に使用されます:
-
特定のリモート・トランザクション・バージョンからのヒントの生成
-
特定のデータ・バージョンに基づくリモート・トランザクションの定義
明示的なバージョンが指定されていない場合:
-
定義を参照する場合は、最新の番号(最も大きい番号)が想定されます。 これは、
CURRVAL
番号ではなく、同じ定義名を持つすべての行について、VERSION
列から選択されたMAX
値です。 -
次の番号(
NEXTVAL
)は、定義の追加時に想定されます。
バージョン番号が連続していない可能性があります。 バージョン番号は常に増加していますが、特定の定義の複数のバージョンでは番号がスキップされることがあります。 これは、順序オブジェクトが同じ型(TRANSACTION
、CALL
またはDATA
)のすべての定義で共有され、順序オブジェクトNEXTVAL
がOracleデータベース・トランザクションROLLBACK
の場合にリストアされないためです。 したがって、NEXTVAL
は、同じ定義の次のバージョンより前に別の定義に割り当てられる場合があります。
有効な定義名の例は次のとおりです:
DEFINE TRANSACTION|CALL|DATA payroll (new or latest definition) payroll_xaction (new or latest definition) payroll_xaction VERSION(3)...(an existing definition)
PGAUによるバージョンの同期は試行されません。 依存アイテムの存在は定義時に保証されますが、削除は依存関係を参照せずに行われます。 たとえば、TIPを生成するには、トランザクションを事前に定義する必要があります。そのためには、コールを事前に定義する必要があります。事前にデータを定義する必要があります。 ただし、コール定義がアクティブなデータ定義を参照している間も、PGAUがアクティブなデータ定義を削除することを妨げるものはありません。
2.6 PGAUコマンド
PGAUでは、通常のSQLコマンドに加えて、DEFINE
, UNDEFINE
, REDEFINE
やGENERATE
などのプロシージャ・ゲートウェイ管理コマンド(コマンド)を入力できます。 SET
およびSHOW
コマンドも実装されます。 また、次の項に示すPGAUコマンドも使用できます。
2.6.1 CONNECT
用途
このコマンドを使用すると、PGAUに接続できます。 CONNECT
コマンドを使用して、Oracleデータベースにログオンし、オプションで、Oracleインスタンスに加えてユーザーIDとパスワードを指定します。 CONNECT
コマンドの構文は次のとおりです:
構文
Microsoft Windowsの場合:
CONNECT [username|username/password|username@connect-string|username\password@connect-string
UNIXベース・システムの場合:
CONNECT [username|username/password|username@connect-string|username/password@connect-string
パラメータ
Microsoft Windowsの場合はusername\password
、UNIXベースのシステムではusername/password
は、PGAUへの接続に使用されるユーザー名とパスワードです。
および
connect-string
は、リモート・データベースのサービス名を指定します。
リモート・データベースの指定の詳細は、「Oracle Database Net Services管理者ガイド」を参照してください。
例
CONNECT CONNECT SCOTT/TIGER CONNECT SCOTT@OTHERSYS
CONNECTの使用上のノート
-
接続する前に、
ORACLE_SID
をデータベースSIDname
に設定する必要があります。 -
リモート・データベースに接続する場合は、
TNS_ADMIN
を、ファイルtnsnames.ora
が格納されているディレクトリのフルパス名に設定する必要があります。 -
コマンドの最後にセミコロン(;)を配置する必要はありません。
2.6.2 DEFINE CALL
用途
構文
DEFINE CALL cname [PKGCALL(pcname)] [PARMS( (dname {IN | OUT | IN OUT} [VERSion(datavers)]), ...)];
ここで、「表2-1」は、次の構文のパラメータを示します:
表2-1 DEFINE CALLパラメータの説明
例
DEFINE CALL
コマンドの例は、「管理ユーティリティの例」の「PGAU DEFINE CALL文の例」を参照してください。
DEFINE CALLの使用上のノート
-
CALL
定義のバージョンは指定されず、CALL
のOracle SequenceオブジェクトのNEXTVAL
にデフォルト設定されます。 -
PKGCALL
およびPARMS
は、どちらの順序でも指定できます。 -
コマンドの最後にセミコロン(;)を配置する必要があります。
2.6.3 DEFINE DATA
用途
このコマンドは、PG DDに新しいバージョンのデータ定義を作成します。
構文
DEFINE DATA dname [PLSDNAME(plsdvar)] [USAGE({PASS|ASIS|SKIP})] [COMPOPTS ('options')] LANGUAGE(language) {(definition)|INFILE("filespec")};
パラメータ
「表2-2」は、DEFINE DATA
パラメータを示します:
表2-2 DEFINE DATAパラメータの説明
パラメータ | 説明 |
---|---|
|
は必須パラメータです 作成するデータ定義の名前です。 |
|
オプションのパラメータです。 これは、 |
|
オプションのパラメータです。 リモート・トランザクションとのコールで交換されるときに、TIPがデータ・アイテムを処理する方法を指定します。
このパラメータを省略すると、デフォルト値
|
|
オプションのパラメータです。 リモート・ホストでデータ定義をコンパイルするときに使用されるコンパイラ・オプションを指定します。 現在サポートされているオプションは、' このオプションの詳細は、「DEFINE DATAの使用上のノート」を参照してください。 |
|
は必須パラメータです 指定された定義でプログラミング言語の名前を指定します。 PGAUは現在COBOLのみをサポートしています。 |
|
|
|
(
|
例
DEFINE DATA
コマンドの例は、「管理ユーティリティの例」の「PGAU DEFINE DATA文の例」を参照してください。
DEFINE DATAの使用上のノート
-
DATA
定義のバージョンは指定されず、DATA
のOracle SequenceオブジェクトのNEXTVAL
にデフォルト設定されます。 -
PLSDNAME
、USAGE
およびLANGUAGE
は、任意の順序で指定できます。 -
INFILE
("filespec"
)は、ディスク・ファイルのプラットフォーム固有の指定です。 -
COMPOPTS ('TRUNC(BIN)')
は、リモート・ホスト・トランザクションが、TRUNC(BIN)
コンパイラ・オプションを指定してCOBOLを使用してコンパイルされた場合にのみ使用する必要があります。 このオプションを使用すると、PIC 9(4)
またはPIC S9(4)
として定義されたバイナリ・データ・アイテムには実際には5桁の値が含まれ、PIC 9(9)
またはPIC S9(9)
として定義されたバイナリ・データ・アイテムには実際には10桁の値を含めることができます。COMPOPTS ('TRUNC(BIN)')
を指定しない場合、PGAUはこれらのデータ・アイテムに対してNUMBER(4,0)
またはNUMBER(9,0)
フィールドを生成し、その結果、値を切り捨てることができます。COMPOPTS ('TRUNC(BIN)')
を指定すると、PGAUはこれらのデータ・アイテムに対してNUMBER(5,0)
またはNUMBER(10, 0)
フィールドを生成し、値の切捨てを回避します。 クライアント・アプリケーションを記述するときは、無効な値がリモート・ホスト・トランザクションに送信されないように注意する必要があります。PIC 9(4)
の場合、値は0
から32767
の範囲内である必要があります。PIC S9(4)
の場合、値は-32767
から+32767
の範囲内である必要があります。PIC 9(9)
の場合、値は0
から2,147,483,647
の範囲内である必要があります。PIC S9(9)
の場合、値は-2,147,483,647
から+2,147,483,647
の範囲内である必要があります。 COBOLでは常に符号の上位ビット・バイナリ・フィールドが予約されるため、符号なしフィールドの値範囲は符号付きフィールドの値範囲の絶対値に制限されます。 詳細は、該当するIBM COBOLプログラミング・マニュアルを参照してください。 -
PGAUによるCOBOL文の変換方法の詳細は、「データ型の変換」の" USAGE(PASS) "を参照してください。
-
コマンドの最後にセミコロン(;)を配置する必要があります。
2.6.4 DEFINE TRANSACTION
用途
構文
DEFINE TRANSACTION tname
CALL(cname [VERS(callvers)], ...
[ENVIRONMENT(name)]
{SIDEPROFILE(name) [LUNAME(name)] [TPNAME(name)]
[LOGMODE(name)
] |
LUNAME(name) TPNAME(name) LOGMODE(name)}
[SYNCLEVEL(0|1|2)]
[NLS_LANGUAGE("nlsname")];
[REMOTE_MBCS("nlsname")]
[LOCAL_MBCS("nlsname")];
パラメータ
「表2-3」は、DEFINE TRANSACTION
パラメータを示します:
表2-3 DEFINE TRANSACTIONパラメータの説明
パラメータ | 説明 |
---|---|
|
必須パラメータです。 作成されるトランザクション定義の名前です。 |
|
必須パラメータです。 以前に定義したコール( 左から右のシーケンスにおける各
|
|
このトランザクションのホスト環境の名前( |
|
「このパラメータは、TCP/IP接続を使用するゲートウェイでは必須です」. SNAに匹敵する意味はありません。 この名前は、IMS Connect属性が類似したIMSトランザクションのグループを表します。 同じIMS接続属性(サブシステムID、TIME遅延、ソケット・タイプなど)を共有しているかぎり、同じ名前を再利用できます。 詳細は、「PG4TCPMAPコマンド(TCP/IPのみ)」を参照してください。 |
|
このパラメータは、SNAを使用するゲートウェイではオプションです: サイド情報プロファイルが指定されている場合は、サイド情報プロファイル内のLUNAMEをオーバーライドします。 トランザクション・マネージャ(OLTP)のSNA論理ユニット名を指定します。 これは、完全修飾LU名、長さが 名前の値は、完全修飾の場合はnetname.lunameのように、LUからネットワークを区切るために、@、#'および$文字と単一ピリオドを使用して英数字を使用できます。 引用符で囲まれた値には任意の文字を含めることができ、引用符(")またはアポストロフィ(')で区切られます。 すべての値で大文字と小文字が維持されます。 「このパラメータは、TCP/IP通信プロトコルを使用する場合には適用されません」. |
|
このパラメータは、SNAを使用するゲートウェイではオプションです: Sideプロファイルが指定されている場合は、Sideプロファイル内の
名前の値は、引用符で囲まれていない場合にのみ、'@'、'#'および'$'文字の英数字にできます。 引用符で囲まれた値には任意の文字を含めることができ、引用符(")またはアポストロフィ(')で区切られます。 すべての値で大文字と小文字が維持されます。 このパラメータは、IMS ConnectのTCP/IPサポートを使用するゲートウェイに必要です。 IMSトランザクション名である必要があります。
|
|
このパラメータは、SNAを使用するゲートウェイではオプションです: サイド情報プロファイルが指定されている場合は、サイド情報プロファイル内の 名前の値は、'@'、'#'および'$'文字のみの英数字にできます。 値を引用符で囲むことはできません。 大文字と小文字は保持されず、常に大文字に変換されます。 「このパラメータは、TCP/IP通信プロトコルを使用する場合には適用されません」. |
|
このパラメータは、SNAを使用するゲートウェイではオプションです: このトランザクション( TCP/IPを使用するゲートウェイ上: このパラメータのデフォルトは0で、唯一許容される値です。 |
|
これはオプションのパラメータです。 デフォルト値は" 「TCP/IPを使用している場合は、必ずこのパラメータをamerican_america.us7asciiに設定してください」. |
|
これはオプションのパラメータです。 デフォルト値は" |
|
これはオプションのパラメータです。 デフォルト値は" |
例
DEFINE TRANSACTION
のコマンドの例は、「管理ユーティリティの例」の「PGAU DEFINE TRANSACTION文の例」を参照してください。
DEFINE TRANSACTIONの使用上のノート:
-
NLS_LANGUAGE
およびOracleデータベースのLANGUAGE
は、トランザクション全体のすべてのシングルバイト文字フィールドの変換に使用されるデフォルトの文字セットを指定します。 これらのデフォルトは、REDEFINE DATA REMOTE_LANGUAGE
またはLOCAL_LANGUAGE
パラメータによってSBCSフィールドごとにオーバーライドできます。 -
TRANSACTION
定義のバージョンは指定されず、TRANS
のOracle SequenceオブジェクトのNEXTVAL
にデフォルト設定されます。 -
REMOTE_MBCS
およびLOCAL_MBCS
は、トランザクション全体のすべてのDBCSまたはMBCSフィールドの変換に使用されるデフォルトのマルチバイト文字セットを指定します。 このデフォルトは、DBCSまたはMBCSフィールドごとに、REDEFINE DATA REMOTE_LANGUAGE
またはLOCAL_LANGUAGE
パラメータで上書きできます。 -
コマンドの最後に「;」を配置する必要があります。
2.6.5 DESCRIBE
用途
このコマンドを使用して、表、ビュー、ストアド・プロシージャまたは関数を記述します。 TABLE
、VIEW
、PROCEDURE
のいずれも明示的に指定されていない場合は、指定された名前の表またはビューが記述されます。
構文
DESCRIBE
コマンドの構文は次のとおりです:
DESCRIBE [TABLE table|VIEW view|PROCEDURE proc|some_name]
パラメータ
「表2-4」は、DESCRIBE
パラメータを示します:
表2-4 DESCRIBEパラメータの説明
パラメータ | 説明 |
---|---|
|
表名は |
|
ビュー名です |
|
プロシージャ名です |
例
DESCRIBE PROCEDURE SCOTT.ADDEMP DESCRIBE SYS.DUAL DESCRIBE TABLE SCOTT.PERSONNEL DESCRIBE VIEW SCOTT.PVIEW
DESCRIBEの使用上のノート
-
コマンドの最後に「;」を配置する必要はありません。
2.6.7 EXECUTE
用途
構文
EXECUTE
コマンドの構文は次のとおりです:
EXECUTE pl/sql block
パラメータ
pl/sql block
は、任意の有効なpl/sqlブロックです。 詳細は、「Oracle Database PL/SQL言語リファレンス」を参照してください。
例
EXECUTE :balance := get_balance(333)
EXECUTEの使用上のノート
-
コマンドの最後に「;」を配置する必要はありません
2.6.9 GENERATE
用途
PL/SQLパッケージが構築され、示された出力ファイルに書き込まれます。 このコマンドでは、PGデータ・ディクショナリは更新されません。
構文
GENERATE tname
[VERSion(tranvers)]
[PKGNAME(pname)]
[PGANODE(dblink_name)]
[OUTFILE("[specpath]{specname}[.{spectype}]")]
[,"[bodypath]{bodyname}
[.{bodytype}]]")
[DIAGNOSE ({[TRACE({[SE] [,IT] [,QM] [,IO] [,OC] [,DD] [,TG] })]
[PKGEX({[DC][,DR]})])};
パラメータ
「表2-5」は、GENERATE
パラメータを示します:
表2-5 GENERATEパラメータの説明
パラメータ | 説明 |
---|---|
|
は必須パラメータです これは、 |
|
オプションのパラメータです。 使用するトランザクション定義を指定します。 |
|
オプションのパラメータです。 作成するPL/SQLパッケージの名前を指定します。 このオペランドを省略すると、パッケージ名はトランザクション名と同じであるとみなされます。 |
|
オプションのパラメータです。 ゲートウェイ・サーバーへのOracleデータベース・リンク名を指定します。 このオペランドを省略すると、PGAは |
|
オプションのパラメータです。 このパラメータを指定する場合は、 |
|
TIP仕様およびTIPコンテンツ・ドキュメントのオプションのディレクトリ・パスです。 デフォルトは現在のディレクトリです。 値は、バックスラッシュ(Microsoft Windowsの場合は\)、UNIXベースのシステムではスラッシュ(/)で終わる必要があります。 |
|
TIP仕様のファイル名とTIPコンテンツ・ドキュメントです。 指定する場合はデフォルトで |
|
TIP仕様のオプションのファイル拡張子で、デフォルトは |
|
TIP本文のオプションのディレクトリ・パスです。 デフォルトでは、 |
|
TIP本文のオプションのファイル名です。 指定する場合はデフォルトで |
|
TIP本文のオプションのファイル拡張子で、デフォルトは TIPコンテンツ出力パスは、デフォルトで 詳細は、" GENERATEの使用上のノート: "、詳細はヒント内部を参照してください。 |
|
|
|
PGAUの実行の内部トレースが、ユーザーの現在のディレクトリ内の出力ファイル
トレース・メッセージは、Oracle Support Servicesおよびその他のOracle担当者に診断ツールとして提供され、TIPの生成時に顧客の問題を診断する際に役立ちます。 これらはOracleの予約済関数の一部であり、Oracleの独自の裁量により、使用状況、インタフェースおよびドキュメントが予告なく変更される可能性があります。 この情報は、お客様が問題の症状を文書化できるように提供されています。
メッセージは、入力時にトレース・サブルーチン名と引数、終了時にサブルーチン名と条件が書き込まれます。
メッセージは、トレースPGAU初期化および終了関数で書き込まれます。
メッセージは、トレース制御ブロックの割当て、キューイング、検索、デキューおよび削除が書き込まれます。
メッセージは、
PG DDからのトランザクション、コール、データ・パラメータ、フィールド、属性、環境およびコンパイラ情報のロードをトレースするメッセージが書き込まれます。
メッセージは、SQL文処理のためのOracle UPIコール結果およびPG DDからの
メッセージは、TIP生成で完了したトレース・ステップ(通常は、PL/SQLコード・セグメントが生成される各コール、パラメータおよびデータ・フィールドのレコード)が書き込まれます。 |
|
生成された PL/SQLパッケージに追加のTIP実行時間診断ロジックが含まれます。
繰返しグループ制限の実行時チェックおよびそのような制限を超えた場合に例外の呼出しを有効にします。
追加のロジックは、警告の存在をチェックし、存在する場合は、 TIP生成のデフォルトでは、TIPが本番データでテストされたという前提でこのような警告を抑制し、データ変換の異常が存在しないか、または既知であり、無視されるという警告を抑制します。 データ変換の問題が原因でエラーが発生した場合、 ノート: 警告ロジックを実行するには、ランタイム・スイッチも必要です。 TIPの実行時に実行されるデータ変換ステップをトレースするために、追加のメッセージが名前付きパイプに書き込まれます。 このオプションでは、TIPでトレース・ロジックが生成されるだけです。 TIPの初期化時に有効にする必要があります。 詳細は、「トラブルシューティング」の「TIPランタイム変換警告の制御」を参照してください。
PL/SQL単一行コメントは、TIP関数のコールおよび変換の原因となる定義のPG DD ID番号を参照するヒントに含まれています。 |
例
GENERATE
コマンドの例は、「管理ユーティリティの例」の「PGAU GENERATE文の例」を参照してください。
GENERATEの使用上のノート:
-
すべてのPGAU
GENERATE
トレース・メッセージは、PGU-39 nnnと指定されます。 特定のトレース・メッセージの詳細は、Microsoft Windowsの%ORACLE_HOME%\dg4appc\mesg\pguus.msg
ファイルまたはUNIXベースのシステムの$ORACLE_HOME/dg4appc/mesg/pguus.msg
を参照してください。 -
pgau.trc
トレース・メッセージ出力ファイルは、TRACE
の指定に関係なく、GENERATE
の次の呼出しによって上書きされます。 トレース・ヘッダー・レコードは、常にpgau.trc
ファイルに書き込まれます。 特定のトレース・ファイルを保存する場合は、GENERATE
の次の呼出しの前に別のファイルにコピーする必要があります。 -
TRACE
オプションは任意の順序または組み合わせで指定でき、同じGENERATE
文でPKGEX
オペランドとともに指定することもできます。 -
コマンドの最後に「;」を配置する必要があります。
2.6.10 GROUP
用途
PG DDの更新、およびグループ内のコマンドによって生じたすべての変更(いずれかの文が失敗した場合)のロールバックのために、複数のPGAUコマンドをグループ化できます。
グループ内のすべてのコマンドが成功しても、COMMIT
処理は実行されません。 COMMIT
を実行するには、GROUP
の外部にあるPGAUスクリプトでCOMMIT
コマンドをコーディングするか、PGAUに対してCOMMIT
を対話的に発行します。
PGAUは、グループ内のいずれかの文が失敗した場合に、グループを処理する前に保存ポイントROLLBACK
を条件に発行します。
構文
GROUP (pgaustmt1; pgaustmt2; ... pgaustmtN);
パラメータ
pgaustmtN:
は、PGAU DEFINE
、REDEFINE
またはUNDEFINE
文です
例
GROUP ( DEFINE DATA EMPNO PLSDNAME (EMPNO) USAGE (PASS) LANGUAGE (IBMVSCOBOLII) ( 01 EMP-NO PIC X(6). ); DEFINE CALL DB2IMAIN PKGCALL (PGADB2I_MAIN) PARMS ( (EMPNO IN ), (EMPREC OUT) ); DEFINE TRANSACTION DB2I CALL ( DB2IMAIN, DB2IDIAG ) SIDEPROFILE(CICSPROD) TPNAME(DB2I) LOGMODE(ORAPLU62) SYNCLEVEL(0) NLS_LANGUAGE("AMERICAN_AMERICA.WE8EBCDIC37C"); GENERATE DB2I PKGNAME(PGADB2I) OUTFILE("pgadb2i"););
GROUPの使用上のノート:
-
ORACLEやSQLなどのPGAU以外のコマンドは、グループを区切るカッコ内に配置できません。
-
PGAUスクリプトには、複数の
GROUP
を含めることができます。 各GROUP
には、COMMIT
やSELECT
などのSQLコマンド、またはGENERATE
やREPORT
などのPGAUコマンドを使用できます。 -
グループ内で最初に失敗したPGAU文によって、保存ポイント
ROLLBACK
がグループの最初にある条件になります。 グループ内の後続のすべてのコマンドはフラッシュされ、検査されません。 PGAUの実行は、グループの後に続く文で再開されます。 その文がCOMMIT
の場合、失敗したグループより前に行われたすべてのPG DD変更がコミットされます。 -
コマンドの最後に「;」を配置する必要があります。
2.6.11 HOST
用途
構文
HOST
コマンドの構文は次のとおりです:
HOST host_command
パラメータ
host_command
は、任意の有効なオペレーティング・システム・コマンドです。
例
HOST vi log.out HOST ls -la HOST pwd
HOST使用上のノート
-
HOST
コマンドを使用すると、指定したオペレーティング・システム・コマンドを実行する新しいコマンド・シェルが起動されます。 つまり、実行されたコマンドによる環境の変更は、PGAUによって起動された新しいコマンド・シェルのみに影響し、PGAU自体が実行されているコマンド・シェルには影響しません。 たとえば、HOST
コマンドによって実行されるcdコマンドは、PGAU実行環境の現在のディレクトリを変更しません。 -
コマンドの最後に「;」を配置する必要はありません。
2.6.13 REDEFINE DATA
用途
PGデータ・ディクショナリの既存のデータ定義が変更されます。 DATA#
、 FLD#
およびPOS
のPG DD列値は、再定義されたデータ・アイテムでは同じままです。 これにより、既存のCALL
およびDATA
定義で再定義されたデータを利用できるようになります。 REDEFINE
では、異なるバージョンのデータ定義は作成されず、バージョン番号は更新されません。
構文
REDEFINE DATA dname
[VERSion(datavers)]
[PLSDNAME(plsdvar)]
[FIELD(fname) [PLSFNAME(plsfvar)]]
[USAGE({PASS|ASIS|SKIP})]
[COMPOPTS ('options')]
[REMOTE_LANGUAGE("nlsname")]
[LOCAL_LANGUAGE("
nlsname")]
LANGUAGE(language)
<(definition) | INFILE("filespec")>;
パラメータ
「表2-6」は、REDEFINE DATA
パラメータを示します:
表2-6 REDEFINE DATAパラメータの説明
パラメータ | 説明 |
---|---|
|
は必須パラメータです 変更するデータ定義の名前です。 |
|
オプションのパラメータです。 変更する |
|
オプションのパラメータです。 これは、前述の |
|
オプションのパラメータです。 集計データが再定義されている場合(レコード内のフィールドの変更など)、 |
|
|
|
オプションです。 省略すると、最後に指定した使用量が保持されます。 リモート・トランザクションとの呼出しでTIPがデータ・アイテムを処理する方法を指定します:
指定すると、影響を受けるすべてのフィールドが、同じ
|
|
オプションです。 省略すると、最後に指定したオプションが保持されます。 NULL文字列('')として指定すると、最後に指定されたオプションが削除されます。 NULL以外の値を指定すると、最後に指定したオプションはすべて新しいオプションに置き換えられます。 現在サポートされているオプションは、' |
|
オプションのパラメータです。 デフォルト値は、 |
|
オプションのパラメータです。 デフォルト値は、TIPの実行時にローカルOracleデータベースの |
|
定義入力が指定されている場合の必須パラメータです。 指定された定義でプログラミング言語の名前を指定します。 PGAUは現在COBOLのみをサポートしています。 |
|
|
|
" |
例
REDEFINE
コマンドの例は、「管理ユーティリティの例」の「PGAU REDEFINE DATA文の例」を参照してください。
REDEFINE DATAの使用上のノート:
-
PLSDNAME
、FIELD
またはPLSFNAME
のいずれかを指定すると、1つのデータ・アイテムの名前を再定義でき、(definition)
パラメータによって名前付きデータ・アイテムのコンテンツが再定義されます。 -
FIELD
の存在は、単一のデータ・フィールドのみを示します(dname
、fname
およびversion)
で一意に識別される単一のPG DD行が更新されます)。FIELD
がないことは、複数のデータ・フィールド(dname
およびversion
で識別される複数のPG DD行)が定義入力によって更新または置換されることを示します。 -
REMOTE_LANGUAGE
およびLOCAL_LANGUAGE
は、個々のSBCS、DBCSまたはMBCS文字データ・フィールドの変換に使用される文字セットをオーバーライドします。 -
LANGUAGE
(language)
および(definition)|
INFILE
(
"filespec")
は、グループとして必須です。 データ定義を指定する場合は、LANGUAGE
パラメータを指定してから、インライン定義またはINFILE
も指定する必要があります。 -
(definition)
|
INFILE
("filespec"
)は、複数のデータ・フィールド(dname
およびバージョンで識別されるPG DD行)が更新されるか、定義入力で置換されることを示します。 フィールドの数が少ないか、等しいか、またはそれより大きい場合は、置換される可能性があります。 -
INFILE
("filespec")
は、ディスク・ファイルのプラットフォーム固有の指定です。 -
COMPOPTS ('TRUNC(BIN)')
は、リモート・ホスト・トランザクションが、TRUNC(BIN)
コンパイラ・オプションを指定してCOBOLを使用してコンパイルされた場合にのみ使用する必要があります。 このオプションを使用すると、PIC 9(4)
またはPIC S9(4)
として定義されたバイナリ・データ・アイテムには実際には5桁の値が含まれ、PIC 9(9)
またはPIC S9(9)
として定義されたバイナリ・データ・アイテムには実際には10桁の値を含めることができます。COMPOPTS ('TRUNC(BIN)')
を指定しない場合、PGAUはこれらのデータ・アイテムに対してNUMBER(4,0)
またはNUMBER(9,0)
フィールドを生成し、その結果、値を切り捨てることができます。COMPOPTS ('TRUNC(BIN)')
を指定すると、PGAUはこれらのデータ・アイテムに対してNUMBER(5,0)
またはNUMBER(10, 0)
フィールドを生成し、値の切捨てを回避します。 クライアント・アプリケーションを記述するときは、無効な値がリモート・ホスト・トランザクションに送信されないように注意する必要があります。PIC 9(4)
の場合、値は0
から32767
の範囲内である必要があります。PIC S9(4)
の場合、値は-32767
から+32767
の範囲内である必要があります。PIC 9(9)
の場合、値は0
から2,147,483,647
の範囲内である必要があります。PIC S9(9)
の場合、値は-2,147,483,647
から+2,147,483,647
の範囲内である必要があります。 COBOLでは常に符号の上位ビット・バイナリ・フィールドが予約されるため、符号なしフィールドの値範囲は符号付きフィールドの値範囲の絶対値に制限されます。 詳細は、該当するIBM COBOLプログラミング・マニュアルを参照してください。 -
PGAUによるCOBOL文の変換方法の詳細は、「データ型の変換」の" USAGE(PASS) "を参照してください。
-
コマンドの最後に「;」を配置する必要があります。
2.6.15 REPORT
用途
このコマンドは、 PGデータ・ディクショナリから選択したデータのレポートを生成します。 選択条件によって、次のことが決定されます:
-
単一の
TRANSACTION
、CALL
またはDATA
エンティティ(明示的なバージョンの有無にかかわらず)がレポートされます -
指定された名前を持つすべての
TRANSACTION
、CALL
またはDATA
エンティティがレポートされるか、PG DD内のすべてのエンティティがレポートされるか、または -
すべての無効な
TRANSACTION
またはCALL
、およびすべての参照されていないCALL
またはDATA
エンティティがレポートされます。
構文
REPORT { { TRANSACTION tname | CALL cname | DATA dname } [VERSION(ver1...)] | ALL { TRANSACTIONS [tname] | CALLS [cname] | DATA [dname] } } [WITH { CALLS | DATA | DEBUG } ... ] | ISOLATED;
パラメータ
「表2-7」は、REPORT
パラメータを示します:
表2-7 REPORTパラメータの説明
パラメータ | 説明 |
---|---|
|
トランザクション |
|
|
|
データ |
|
指定されたエントリの選択したバージョンをレポートし、 |
|
すべてのトランザクション・エントリのすべての既存バージョンのPG DDコンテンツをレポートするか、またはオプションで特定のトランザクション |
|
すべてのコール・エントリのすべての既存バージョンのPG DDコンテンツをレポートするか、またはオプションで特定のコール |
|
すべてのデータ入力またはオプションで特定のデータ |
|
指定されたトランザクションに関連付けられたコール・エントリをレポートします。 |
|
指定されたコールに関連付けられているデータ・エントリをレポートし、トランザクションに指定されている場合は、 |
|
レポートされるアイテムのタイプに応じて、 このレポートは、PG DD診断参照で生成されたヒントに役立ちます。 詳細は、 |
|
他のすべてのパラメータと相互に排他的です。 参照されていない |
REPORTの使用上のノート:
-
レポート出力は端末に送信され、スプール、保存、および印刷が可能です。
-
データ・レポートは、元のコンパイラ言語に従ってフォーマットされ、その前にPG DDへのデータを定義する PGAU
DEFINE DATA
コマンドが付きます。 -
CALL
およびTRANSACTION
レポートは、PG DDへのエントリを効果的に定義する PGAUDEFINE CALL
またはTRANSACTION
コマンド(「文」とも呼ばれます)としてフォーマットされます。 -
次のコマンドは、指定された特定のバージョンについて、データ名
dname
で指定された、またはオプションで指定された最新のデータ定義をレポートします。REPORT DATA dname; REPORT DATA dname VERSION(version#1,version#2);
このコマンドは、データ名
dname
で指定されたすべてのデータ定義をレポートします:REPORT ALL DATA dname;
-
次のコマンドは、コール名
cname
で指定された、またはオプションで指定された特定のバージョンに対して指定された、最新の1つのコール定義を報告します。REPORT CALL cname; REPORT CALL cname VERSION(version#1,version#2) WITH DATA;
このコマンドは、呼び出し名cnameで指定されたすべての呼び出し定義を報告します:
REPORT ALL CALLS cname WITH DATA;
このコマンドは、PG DD内のすべての呼び出し定義を報告します:
REPORT ALL CALLS WITH DATA;
WITH DATA
を指定すると、選択した各コールに関連付けられているすべてのデータ定義もレポートされます。 データ定義は、レポート出力で対応する選択された各コールの前にあります。 -
次のコマンドは、トランザクション名
tname
で指定された最新のトランザクション定義、またはオプションで指定された特定のバージョンについてレポートします。REPORT TRANSACTION tname REPORT TRANSACTION tname VERSION(version#1,version#2) WITH DATA WITH CALLS;
このコマンドは、トランザクション名tnameで指定されたすべてのトランザクション定義をレポートします:
REPORT ALL TRANSACTIONS tname WITH DATA WITH CALLS;
このコマンドは、PG DD内のすべてのトランザクション定義をレポートします:
REPORT ALL TRANSACTIONS WITH DATA WITH CALLS;
WITH CALLS
オプションを指定すると、選択した各トランザクションに関連付けられたすべてのコール定義もレポートされます(コール定義は、レポート出力で選択された各トランザクションより前です)。WITH DATA
を指定すると、選択した各コールに関連付けられているすべてのデータ定義もレポートされます(データ定義は、レポート出力で選択された各コールより前です)。トランザクション・レポートの場合、
WITH DATA
の指定は、WITH CALL
の指定を意味します。 -
次のコマンドは、参照されていない
CALL
またはDATA
定義をレポートします。 また、欠落しているCALL
定義またはDATA
定義をそれぞれ参照するTRANSACTION
定義またはCALL
定義もレポートします。REPORT ISOLATED;
-
次のコマンドは、PG DD内のすべての定義を報告します。
REPORT ALL;
データ定義がレポートされ、続いて関連するコール定義、続いて関連するトランザクション定義がレポートされます。
このシーケンスは、PG DD内で定義されたすべての呼び出しとトランザクションに対して繰り返されます。
-
コマンドの最後に「;」を配置する必要があります。
2.6.16 SET
パラメータ
「表2-8」は、SET
パラメータを示します:
表2-8 SETパラメータの説明
パラメータ | 説明 |
---|---|
|
データベースから一度にフェッチされる行数を設定します。 デフォルトは |
|
|
|
|
|
コマンド・ファイルから入力されたコマンドのエコーを、 |
|
問合せによって返される行数を設定します。 これは、カテゴリ内の特定の数のアイテム(たとえば、上位10個のアイテム)を検索するための順序付けされた問合せで役立ちます。 また、特定の基準を満たす最初の |
|
|
|
最大データ・サイズを設定します。 これは、 |
|
|
|
|
|
エラーが発生した場合にコマンド・ファイルの実行を停止するかどうかを示します。 |
|
SQLコマンドの端末出力を有効または無効にします。 これは、出力をファイルにスプールするときに端末への出力を防止するのに役立ちます。 デフォルトは |
|
実行された各SQL文の解析、実行およびフェッチ時間(CPUと経過時間の両方)の表示を有効または無効にします。 デフォルトは |
例
PGAU> set arraysize 30 PGAU> set CHARWIDTH
SET使用上のノート
-
コマンドの最後に「;」を配置する必要はありません。
2.6.17 SHOW
パラメータ
「表2-9」は、SHOW
パラメータを示します:
表2-9 SHOWパラメータの説明
パラメータ | 説明 |
---|---|
|
すべての有効な |
|
データベースから一度にフェッチされる行数を示します。 |
|
|
|
|
|
コマンド・ファイルから |
|
問合せから返された行数を示します。 |
|
|
|
最大データ・サイズを表示します。 |
|
|
|
|
|
エラーが発生した場合にコマンド・ファイルの実行を停止するかどうかを示します。 |
|
SQLコマンドの端末出力が有効か無効かを示します。 |
|
実行された各SQL文の解析、実行およびフェッチ時間(CPUと経過時間の両方)の表示が有効か無効かを示します。 |
|
|
例
SET
コマンドを発行すると、成功しても出力されないことに注意してください。 文が正常に実行されたかどうかを確認する場合は、次のようなSHOW
コマンドを発行します:
PGAU> show arraysize Arraysize 30 PGAU> show CHARWIDTH Charwidth 80 PGAU> show all Instance local Spool OFF Timing OFF Termout ON Echo OFF Stoponerror OFF Maxdata 20480 Arraysize 20 Fetchrows 100 Numwidth 10 Charwidth 80 Longwidth 80 Datewidth 9 ServerOutput OFF
SHOW使用上のノート
-
コマンドの最後に「;」を配置する必要はありません。
2.6.19 UNDEFINE CALL
用途
このコマンドを使用して、PG DDからCALL
定義のオカレンスを削除します。
構文
UNDEFINE CALL cname [VERSion(callvers|ALL)];
パラメータ
「表2-10」は、UNDEFINE CALL
パラメータを示します:
表2-10 UNDEFINE CALLパラメータの説明
パラメータ | 説明 |
---|---|
|
必須パラメータです。 削除するアイテムに関連付けられている名前を指定します。バージョンが指定されていない場合、最新(番号が最も高い)バージョンのみが削除されます。 |
|
オプション・パラメータ。 これは、削除する定義の単数形バージョンを指定します。または、 |
例
UNDEFINE CALL
コマンドの例は、「管理ユーティリティの例」の「PGAU UNDEFINE文の例」を参照してください。
UNDEFINE CALLの使用上のノート:
2.6.20 UNDEFINE DATA
用途
このコマンドを使用して、PGデータ・ディクショナリ内のDATA
定義のオカレンスを削除します。
構文
UNDEFINE DATA dname [VERSion(datavers|ALL)];
パラメータ
「表2-11」は、UNDEFINE DATA
パラメータを示します:
表2-11 UNDEFINE DATAパラメータの説明
パラメータ | 説明 |
---|---|
|
必須パラメータです。 削除するアイテムに関連付けられている名前を指定します。 バージョンを指定しない場合、最新(番号が最も高い)バージョンのみが削除されます。 |
|
オプション・パラメータ。 これは、削除する定義の単数形バージョンを指定します。または、 |
例
UNDEFINE DATA
コマンドの例は、「管理ユーティリティの例」の「PGAU UNDEFINE文の例」を参照してください。
UNDEFINE DATAの使用上のノート
-
定義を削除すると、PL/SQLパッケージ(TIP)がその後生成されなくなります。
.pkh
および.pkb
仕様ファイルが存在していれば、以前に生成されたTIPを再作成できます。 以前に作成したTIPは、Oracleデータベースのデータベースに残っている場合は起動できます。 このようなTIPが正常に実行されるかどうかは、対応するリモート・トランザクション・プログラムがまだアクティブかどうかによって異なります。 -
すべての
CALL
およびそれを参照するすべてのTRANSACTION
が削除された後にのみ、DATA
定義を削除します。 整合性チェックは実行されません。 -
コマンドの最後に「;」を配置する必要があります。
2.6.21 UNDEFINE TRANSACTION
用途
このコマンドは、PGデータ・ディクショナリ内のTRANSACTION
定義の出現箇所を削除します。
構文
UNDEFINE TRANSACTION tname [VERSion(tranvers|ALL)];
パラメータ
「表2-12」は、UNDEFINE TRANSACTION
パラメータを示します:
表2-12 UNDEFINE TRANSACTIONパラメータの説明
パラメータ | 説明 |
---|---|
|
必須パラメータです。 削除するアイテムに関連付けられている名前を指定します。 バージョンを指定しない場合、最新(番号が最も高い)バージョンのみが削除されます。 |
|
オプションのパラメータ。 これは、削除する定義の単数形バージョンを指定します。または、 |
例
UNDEFINE TRANSACTION
コマンドの例は、「管理ユーティリティの例」の「PGAU UNDEFINE文の例」を参照してください。
UNDEFINE TRANSACTIONの使用上のノート
2.6.22 VARIABLE
用途
構文
VARIABLE
コマンドの構文は次のとおりです:
VARIABLE name type
パラメータ
「表2-13」は、VARIABLE
パラメータを示します。
表2-13 VARIABLEパラメータの説明
パラメータ | 説明 |
---|---|
|
変数名。 |
|
変数データ型です |
例
VARIABLE balance NUMBER VARIABLE emp_name VARCHAR2
VARIABLEの使用上のノート
-
コマンドの最後に「;」を配置する必要はありません。