2 プロシージャ・ゲートウェイ管理ユーティリティ
手続き型ゲートウェイ管理ユーティリティ(PGAU)は、PGA管理者またはユーザーがリモート・トランザクション・プログラムと交換されるデータを定義するのを支援するユーティリティです。 「TIPの作成」、「TIP内部」で説明されているPL/SQL Transaction Interface Packages (TIP)を生成し、通信プロトコルに応じて「クライアント・アプリケーション開発(SNAのみ)」または「クライアント・アプリケーション開発(TCP/IPのみ)」のいずれかを生成します。
トピック:
PGAUの概要
注意:
以前にSNAプロトコルを使用してゲートウェイ上に生成された既存のTIPがあり、新しいTCP/IP機能を利用する場合は、必須のNLS_LANGUAGE
とSide Profile Settingsを使用してPGAUによってTIPを再生成する必要があります。 DEFINE TRANSACTION
コマンドで、適切なASCIIキャラクタ・セットを指定します。
これは、ゲートウェイがIMS Connect内の適切なユーザー出口が使用されていることを前提としているためです。これは、適切なASCIIキャラクタ・セットとEBCDICキャラクタ・セットの間で変換されます。
PGAUは、データ・ディクショナリPG DDを保持しています。これは、Oracleデータベース内の表の集合です。 これらの表には、リモート・トランザクション・データの定義と、そのデータがリモート・トランザクション・プログラムとどのように交換されるかが格納されています。 TIPとそれぞれのリモート・トランザクション・プログラムとの間の相関については、「"TIPとリモート・トランザクション・プログラムの通信の確保"」を参照してください。 PGのDDコンテンツは、この相関関係を定義します。
PGA管理者またはユーザーは、次のPGAUコマンド(文とも呼ばれます)を使用して、TIPとリモート・トランザクション・プログラム間の相関を定義します:
-
先行する
CALL
コマンドとDATA
コマンドをグループ化し、リモート・トランザクション・プログラムに固有のネットワーク名やロケーションなどの特定の局面を記述するPGAUのDEFINE TRANSACTION
文。 -
PGAU
GENERATE
文は、TIP/トランザクション相関がPG DDで定義された後で、PG管理者またはユーザーは、TIP指定を指定および作成するために使用します。 PG DDの定義を変更および削除するために必要な追加のPGAUコマンドは、「"PGAUコマンド"」で説明されています。
PGAUコマンドは、Procedural Gateway Definition Language (PGDL)として知られています。 PGDLへの言及は、本書で定義されているPGAUコマンドの集合に対するものです。
PGAUは、編集およびスプール機能とSQLコマンド発行機能を提供します。
注意:
一般的なデータベース管理では、SQL*PlusではなくPGAUを使用しないでください。
あるいは、PGAUコマンドを制御ファイルで提供することもできます。 コントロール・ファイルには、PG DDを操作したり、TIP仕様を生成するための1つ以上のPGAUコマンドが含まれています。
PGAUは、各操作でステータス・メッセージを発行します。 メッセージ・テキストは、グローバリゼーション・サポート・メッセージ・サポートによって提供されます。 PGAUは各コマンドを順番に処理します。 1つのコマンドでエラーが発生すると、PGAUはそのコマンドをスキップします。
PGAUを実行するには、「PG DD」表がすでに作成されている必要があります。 インストール・ガイドの通信プロトコルに対応するゲートウェイ構成セクションを参照してください。
COMMIT/ROLLBACK処理
次のセクションでは、COMMIT/ROLLBACK
処理について説明します。
ROLLBACK処理
PGAUはPG DDを変更する各PGAUコマンドの先頭とPGAUの先頭に保存ポイントを設定します。GROUP
。 PGAUコマンドまたはグループ障害が発生すると、PGAUは保存ポイントにロールバックします。
COMMIT
または ROLLBACK
コマンドはPGAUスクリプト内で、またはPGAUでは対話的にはコード化できますが、GROUP
ではコード化することはできません。
COMMIT
またはROLLBACK
は、PGAU GENERATE
またはREPORT
コマンドに対して発行されません。
障害発生時の変更をロールバックするためのPGAUコマンドのグループ化については、後のセクションのPGAU "GROUP"コマンドの説明を参照してください。
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
です。 コマンドfilenameに英数字以外の文字が含まれている場合は、最後のフォームを使用します。
PG DDのメンテナンスおよびPL/SQLパッケージの生成を実行するには、 CONNECT
コマンドを使用して、ユーザーPGAADMIN
としてPGAUからOracleデータベースに接続する必要があります。 「"PGAUコマンド"」セクションでは、"CONNECT"コマンドの使用方法について説明します。
PGAUにおける定義と生成
このバージョンのPGAUは、COBOLでのリモート・トランザクション・データの定義をサポートし、対話式またはファイル形式で入力します。 ファイル入力はDEFINE
とREDEFINE DATA
コマンドでサポートされており、標準のCOBOLデータ分割マクロまたは"コピーブック"を提供することができます。
PGAUとPG DDは、異なるバージョンのユーザー・データとリモート・トランザクション定義をサポートしています。 これにより、プロダクションの使用に影響を与えることなく、データ・フォーマットとトランザクションの変更とテストが容易になります。
任意のデータまたはトランザクション定義の複数のバージョンが存在する可能性があります。 PG DDに格納され使用されているバージョンがリモート・トランザクションと同期されていることを確認する必要があります。 ゲートウェイ、PGAU、生成されたTIPのどちらもこの同期を提供しませんが、エラー状態が検出されたときにメッセージを発行します。
データ定義は、呼び出し定義によって参照される前に存在していなければなりません。 コール定義は、トランザクション定義によって参照される前に存在していなければなりません。
注意:
PG DDに格納されて使用されているデータ・トランザクション定義バージョンがリモート・トランザクションと同期されていることを確認するのは、お客様の責任です。 ゲートウェイ、PGAUおよび生成されたTIPはこの同期を提供しませんが、エラー状態としてメッセージを発行します。
TIPの定義とテストのプロセス
特定のトランザクションのTIPを定義およびテストする一般的なプロセスは次のとおりです:
- COBOLデータ定義を使用して入力と出力を定義します。
- 上記のプロセスで作成されたデフォルトのdatanamesおよびPL/SQL変数名を再定義します(オプション)。
- PL/SQL
FUNCTION
呼び出しをPL/SQLパッケージの一部として生成するように定義します。 - 上記の機能をグループ化するトランザクションを定義します。
- 以前に格納された
TRANSACTION
、CALL
、およびDATA
定義からTIP仕様を生成します。 - TIP PL/SQLストアド・プロシージャを生成します。
- 高レベルのアプリケーションからTIPを呼び出すことによってTIPをテストします。
TIPの詳細については、「TIPの作成」を参照してください。
定義名
定義名は、PGAUによって指定する一意の識別子です。 名前は1〜30バイトの文字列です。 句読点や空白が含まれている場合は、名前を二重引用符で囲んで指定する必要があります。
名前は重複した名前が固有のバージョン番号によって意図的に区別される場合を除いて、PG DD内で一意であるとみなされます。 名前の一意性を保証するのはあなたの責任です。
-
AからZ
-
aからz
-
0から9
-
#
-
$
-
_ (アンダースコア)
デフォルト値がオーバーライドされない限り、トランザクション定義名はPL/SQLパッケージ名であり、トランザクション呼び出し名はPL/SQLプロシージャ名である可能性があることに注意してください。 したがって、PL/SQLに対して構文的に正しい名前を選択します。これらの名前は、そのシステム内の一意の名前であることを確認してください。 ユーザーとして、PL/SQLの名前互換性を確保するのはユーザーの責任です。
定義バージョン管理
「PGデータ辞書」表には、トランザクションとデータ構造の説明が含まれています。 定義の複数のバージョンが存在する可能性があります。 古いバージョンは無期限に保持されます。
すべてのPG DD操作では、定義またはパッケージはその名前で参照されます。 その名前は、特定のバージョン番号で修飾することができます。
すべてのバージョン番号:
-
Oracle Sequence Objectsによって提供されます。
-
純粋に数字です
-
ユーザーの変更、サフィクス、プレフィクスがないこと
バージョン番号の生成に使用されるOracle Sequence Objectの特定の名前については、Microsoft Windowsの%ORACLE_HOME%\dg4appc\admin
ディレクトリまたはUNIXベースのシステムの$ORACLE_HOME/dg4appc/admin
ディレクトリの「Database Gateway for APPCデータ・ディクショナリ」および pgddcr8.sql
ファイルを参照してください。
明示的なバージョン番号が指定されている場合は、新しい定義ではなく、既存の定義のバージョン番号と見なされます。 このような明示的な参照は:
-
特定のリモート・トランザクション・バージョンからTIPを生成
-
特定のデータ・バージョンに基づいてリモート・トランザクションを定義
明示的なバージョンが指定されていない場合:
-
定義が参照されているときは、最新のもの(最高の番号)が仮定されます。 これは、
CURRVAL
番号ではなく、同じ定義名を持つすべての行について、VERSION
列から選択されたMAX
値です。 -
定義が追加されると、次の(
NEXTVAL
番号)が仮定されます。
バージョン番号が連続していない可能性があります。 バージョン番号は常に増加していますが、定義の複数のバージョンでは数字がスキップされる可能性があります。 これは、同じタイプのすべての定義(TRANSACTION
、CALL
、またはDATA
)でシーケンス・オブジェクトが共有され、Oracleデータベース・トランザクションROLLBACK
の場合にシーケンス・オブジェクトNEXTVAL
がリストアされないためです。 したがって、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がアクティブなデータ定義を削除することはありません。
PGAUコマンド
PGAUでは、通常のSQLコマンドに加えて、DEFINE
、UNDEFINE
、REDEFINE
、GENERATE
などのProcedural Gateway Administrationコマンド(コマンド)を入力できます。 SET
およびSHOW
コマンドも実装されています。 さらに、次のセクションにリストされているPGAUコマンドも使用できます。
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ネット・サービス管理者ガイド」を参照してください。
例
CONNECT CONNECT SCOTT/TIGER CONNECT SCOTT@OTHERSYS
CONNECTの使用上の注意
-
接続する前に、
ORACLE_SID
をデータベースSIDname
に設定する必要があります。 -
リモート・データベースに接続する場合は、
TNS_ADMIN
を、tnsnames.ora
ファイルが格納されているディレクトリの絶対パス名に設定する必要があります。 -
コマンドの最後にセミコロン(;)を置く必要はありません。
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 ObjectのNEXTVAL
になります。 -
PKGCALL
とPARMS
はどちらの順序でも指定できます。 -
コマンドの最後にセミコロン(;)を置く必要があります。
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 Objectの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
の範囲内でなければなりません。-2,147,483,647
から+2,147,483,647
の範囲内にあります。 COBOLは常に符号のバイナリ・フィールドの上位ビットを予約します。したがって、符号なしフィールドの値の範囲は、符号付きフィールドの値域の絶対値に制限されます。 詳しくは、該当するIBM COBOLプログラミング・マニュアルを参照してください。 -
PGAUがCOBOL文をどのように変換するかについては、「データ型変換」の"USAGE(PASS)"を参照してください。
-
コマンドの最後にセミコロン(;)を置く必要があります。
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パラメータの説明
パラメータ | 説明 |
---|---|
|
必須パラメータです。 これは、作成されるトランザクション定義の名前です。 |
|
必須パラメータです。 このトランザクションをまとめた( 各
|
|
このトランザクションのホスト環境の名前を指定します(例: |
|
「このパラメータは、SNAを使用するゲートウェイではオプションですが、省略した場合は、ユーザーが指定する必要があります」は、 「このパラメータは、TCP/IP接続を使用するゲートウェイでは必須です」. これにはSNAの意味がありません。 この名前は、同様のIMS Connect属性を持つIMSトランザクションのグループを表します。 サブシステムID、TIME遅延、ソケット・タイプなど、同じIMS Connect属性を共有している限り、同じ名前を再使用できます。 詳細については、「PG4TCPMAPコマンド(TCP/IPのみ)」を参照してください。 |
|
このパラメータは、SNAを使用するゲートウェイではオプションです: サイド情報プロファイルが指定されている場合は、サイド情報プロファイル内のLUNAMEをオーバーライドします。 トランザクション・マネージャ(OLTP)のSNA論理装置名を指定します。 これは、完全修飾LU名、 名前の値は、完全修飾されている場合、netname.lunameのように、'@'、'#'、および'$'文字で英数字にすることができ、単一のピリオド'。'でネットワークをLUから区切ることができます。 引用符付きの値には、任意の文字を含めることができ、引用符( ")またはアポストロフィ( ')で区切ります。 大文字小文字はすべての値に対して保持されます。 「このパラメータは、TCP/IP通信プロトコルを使用する場合は適用されません。」. |
|
このパラメータは、SNAを使用するゲートウェイではオプションです: サイド・プロファイルが指定されている場合、サイド・プロファイル内の
名前の値は、引用符で囲まれていない場合にのみ、英数字で'@'、'#'、および'$'文字にすることができます。 引用符付きの値には、任意の文字を含めることができ、引用符( ")またはアポストロフィ( ')で区切ります。 大文字小文字はすべての値に対して保持されます。 このパラメータは、IMS ConnectのTCP/IPサポートを使用するゲートウェイに必要です。 これはIMSトランザクション名でなければなりません。
|
|
このパラメータは、SNAを使用するゲートウェイではオプションです: サイド情報プロファイルが指定されている場合は、Side情報プロファイル内の 名前の値は、'@'、'#'、および'$'文字のみの英数字にすることができます。 値は引用できません。 大文字小文字は保持されず、常に大文字に変換されます。 「このパラメータは、TCP/IP通信プロトコルを使用する場合は適用されません。」. |
|
このパラメータは、SNAを使用するゲートウェイではオプションです: このトランザクションのAPPC TCP/IPを使用するゲートウェイ上で: このパラメータのデフォルトは0です。これは唯一受け入れられる値です。 |
|
これはオプションのパラメータです。 デフォルト値は" 「TCP/IPを使用している場合は、このパラメータを"american_america.us7ascii"に設定してください」. |
|
これはオプションのパラメータです。 デフォルト値は" |
|
これはオプションのパラメータです。 デフォルト値は" |
例
DEFINE TRANSACTION
コマンドの例については、「管理ユーティリティのサンプル」の「"サンプルPGAU DEFINE TRANSACTION文"」を参照してください。
DEFINE TRANSACTION使用上の注意:
-
NLS_LANGUAGE
とOracleデータベースLANGUAGE
は、トランザクション全体のすべてのシングルバイト文字フィールドの変換に使用されるデフォルトの文字セットを指定します。 これらのデフォルトは、各SBCSフィールドに対して、REDEFINE DATA REMOTE_LANGUAGE
またはLOCAL_LANGUAGE
パラメータによってオーバーライドすることができます。 -
TRANSACTION
の定義のバージョンは指定されておらず、デフォルトはTRANS
のOracle Sequence ObjectのNEXTVAL
になります。 -
REMOTE_MBCS
およびLOCAL_MBCS
は、トランザクション全体のすべてのDBCSまたはMBCSフィールドの変換に使用されるデフォルトのマルチバイト文字セットを指定します。 このデフォルトは、DBCSまたはMBCSフィールドごとに、REDEFINE DATA REMOTE_LANGUAGE
またはLOCAL_LANGUAGE
パラメータによってオーバーライドできます。 -
コマンドの最後に";"を置く必要があります。
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の使用上の注意
-
";"を置く必要はありません。コマンドの終わりに。
EXECUTE
用途
構文
EXECUTE
コマンドの構文は次のとおりです:
EXECUTE pl/sql block
パラメータ
pl/sql block
は有効なpl/sqlブロックです。 詳細については、「Oracle Database PL/SQL言語リファレンス」を参照してください。
例
EXECUTE :balance := get_balance(333)
EXECUTEの使用上の注意
-
";"を置く必要はありません。コマンドの最後に
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使用上の注意:"を、詳細についてはTIP内部を参照してください。 |
|
|
|
PGAUの実行の内部トレースが、ユーザーの現在のディレクトリにある出力ファイル
トレース・メッセージは、Oracle Support Servicesおよび他のOracle担当者に診断ツールとして提供され、TIPを生成する際に顧客の問題を診断するのに役立ちます。 これらは、オラクル独自の裁量により、使用、インタフェース、およびドキュメントが予告なしに変更される可能性のあるOracle予約済み機能の一部です。 この情報は、お客様が問題の症状を記録するために提供されています。
メッセージは、入力時にサブルーチン名と引数をトレースし、終了時にサブルーチン名と条件をトレースして書き込まれます。
メッセージは、PGAUの初期化および終了機能をトレースして書き込まれます。
メッセージは、制御ブロック割り当て、キューイング、検索、デキュー、および削除をトレースして書き込まれます。
メッセージは、
メッセージは、PG DDからのトランザクション、コール、データ・パラメータ、フィールド、属性、環境およびコンパイラ情報のロードをトレースして書き込まれます。
メッセージは、SQL文処理のOracle UPIコール結果とPG DDからの
メッセージは、TIP Generationで完了したトレース・ステップ、通常はPL/SQLコード・セグメントが生成された各呼び出し、パラメータ、およびデータ・フィールドのレコードに書き込まれます。 |
|
生成されたPL/SQLパッケージ内に追加のTIP実行時間診断ロジックが組み込まれます。
反復グループ制限の実行時検査と、そのような制限を超えた場合の例外の発生を有効にします。
追加ロジックは警告の有無をチェックし、警告があれば TIP生成の既定値は、TIPが運用データでテストされ、データ変換の異常が存在しないか、または既知で無視されることを前提として、このような警告を抑制することです。 データ変換の問題が原因でエラーが発生した場合、 注意: 警告ロジックを実行するにはランタイム・スイッチも必要です。 追加のメッセージは、実行時にTIPによって実行されるデータ変換ステップを追跡するために、名前付きパイプに書き込まれます。 このオプションを選択すると、TIPでトレース・ロジックが生成されます。 TIPが初期化されたときに有効にする必要があります。 詳細については、「トラブルシューティング」の「"TIPランタイム変換の警告の制御"」を参照してください。
PL/SQL single lineコメントは、TIP関数呼び出しおよび変換を引き起こす定義のPG DD ID番号を参照するTIPに含まれています。 |
例
GENERATE
コマンドの例については、「管理ユーティリティのサンプル」の「"サンプルPGAU GENERATE文"」を参照してください。
GENERATE使用上の注意:
-
すべてのPGAUの
GENERATE
トレース・メッセージは、PGU-39nnnと呼ばれます。 特定のトレース・メッセージの詳細については、UNIXベースのシステムのMicrosoft Windowsまたは$ORACLE_HOME/dg4appc/mesg/pguus.msg
の%ORACLE_HOME%\dg4appc\mesg\pguus.msg
ファイルを参照してください。 -
TRACE
トレース・メッセージ出力ファイルは、TRACE
の仕様に関係なく、GENERATE
の次の呼び出しによって上書きされます。 トレース・ヘッダー・レコードは、常にpgau.trc
ファイルに書き込まれます。 特定のトレース・ファイルを保存する場合は、次にGENERATE
を呼び出す前に別のファイルにコピーする必要があります。 -
TRACE
オプションは、任意の順序または組み合わせで指定することができ、同じGENERATE
文でPKGEX
オペランドで指定することもできます。 -
コマンドの最後に";"を置く必要があります。
GROUP
用途
複数のPGAUコマンドをグループ化してPG DDを更新し、いずれか1つの文が失敗した場合は、グループ内のコマンドに起因するすべての変更をロールバックすることができます。
グループ内のすべてのコマンドが成功した場合でも、COMMIT
処理は実行されません。 COMMIT
を実行するには、PGAUスクリプト内のCOMMIT
コマンドをGROUP
の外部にコーディングするか、またはCOMMIT
を対話形式でPGAUに発行します。
グループ内の文が失敗した場合、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の変更がコミットされます。 -
コマンドの最後に";"を置く必要があります。
HOST
用途
構文
HOST
コマンドの構文は次のとおりです:
HOST host_command
パラメータ
host_command
は、有効なオペレーティング・システム・コマンドです。
例
HOST vi log.out HOST ls -la HOST pwd
HOST使用上の注意
-
HOST
コマンドを使用すると、指定されたオペレーティング・システム・コマンドを実行する新しいコマンド・シェルが開始されます。 つまり、実行されたコマンドによって引き起こされる環境の変更は、PGAUによって起動された新しいコマンド・シェルにのみ影響し、PGAU自体が実行されているコマンド・シェルには影響しません。 例えば、HOST
コマンドによって実行されるcdコマンドは、PGAU実行環境内の現在のディレクトリを変更しない。 -
";"を置く必要はありません。コマンドの終わりに。
データの再定義
用途
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以外の値が指定された場合、指定された最後のオプションはすべて新しいオプションに置き換えられます。 現在サポートされている唯一のオプションは' |
|
オプションのパラメータです。 デフォルト値は" |
|
オプションのパラメータです。 デフォルト値は、TIPの実行時にローカルOracleデータベースの |
|
定義入力が指定されている場合は必須パラメータです。 提供される定義内のプログラミング言語の名前を指定します。 PGAUは現在COBOLのみをサポートしています。 |
|
|
|
" |
例
REDEFINE
コマンドの例については、「管理ユーティリティのサンプル」の「"サンプルPGAU REDEFINE DATA文"」を参照してください。
REDEFINE DATA使用上の注意:
-
PLSDNAME
、FIELD
、またはPLSFNAME
のいずれかを指定すると、単一のデータ・アイテム名の再定義が可能になりますが、(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
の範囲内でなければなりません。-2,147,483,647
から+2,147,483,647
の範囲内にあります。 COBOLは常に符号のバイナリ・フィールドの上位ビットを予約します。したがって、符号なしフィールドの値の範囲は、符号付きフィールドの値域の絶対値に制限されます。 詳しくは、該当するIBM COBOLプログラミング・マニュアルを参照してください。 -
PGAUがCOBOL文をどのように変換するかについては、「データ型変換」の"USAGE(PASS)"を参照してください。
-
コマンドの最後に";"を置く必要があります。
REPORT
用途
このコマンドは、PGデータ・ディクショナリから選択されたデータのレポートを生成します。 選択基準によって以下が決定されることがあります:
-
単一の
TRANSACTION
、CALL
、またはDATA
エンティティ(明示的なバージョンの有無にかかわらず)が報告されるか、 -
指定された名前を持つすべての
TRANSACTION
、CALL
、またはDATA
エンティティが報告されること、またはPG DD内のすべてのエンティティが報告されること、または -
すべての無効な
TRANSACTION
またはTRANSACTION
およびすべての参照されていないTRANSACTION
または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診断参照で生成されたTIPに役立ちます。 詳細については、 |
|
他のすべてのパラメータと排他的です。 すべての参照されていない |
レポート使用上の注意:
-
レポート出力は端末に出力され、スプール、保存、印刷が可能です。
-
データ・レポートは、元のコンパイラ言語に従ってフォーマットされ、その前に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
で指定された最新の単一のコール定義を報告します。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内のすべての定義されたコールおよびトランザクションに対して繰り返されます。
-
コマンドの最後に";"を置く必要があります。
SET
パラメータ
「表2-8」はSET
パラメータを記述します:
表2-8 SETパラメータの説明
パラメータ | 説明 |
---|---|
|
データベースから一度にフェッチされる行の数を設定します。 デフォルトは |
|
|
|
|
|
コマンド・ファイルから入力されたコマンドのエコーを |
|
問合せによって返される行の数を設定します。 これは、カテゴリ内の特定の数のアイテム、たとえば上位10アイテムを検索するための順序付き問合せで役立ちます。 また、特定の基準を満たす最初の |
|
|
|
最大データ・サイズを設定します。 これは、 |
|
|
|
|
|
エラーが発生した場合にコマンド・ファイルの実行を停止するかどうかを示します。 |
|
SQLコマンドの端末出力を有効または無効にします。 ファイルへの出力をスプールする際に端末に出力されないようにするのに便利です。 デフォルトは |
|
実行された各SQL文の解析、実行、フェッチ時間(CPUと経過時間の両方)の表示を有効または無効にします。 デフォルトは |
例
PGAU> set arraysize 30 PGAU> set CHARWIDTH
SET使用上の注意
-
";"を置く必要はありません。コマンドの終わりに。
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使用上の注意
-
";"を置く必要はありません。コマンドの終わりに。
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使用上の注意:
-
定義を削除すると、PL/SQLパッケージが後で生成されるのを防ぐことができます。
.pkh
と.pkb
の指定ファイルが存在し、以前のTIPSがOracleデータベースのデータベースに残っている場合、それらのTIPSを呼び出すことができれば、TIPを再作成できます。 このようなTIPが正常に実行されるかどうかは、対応するリモート・トランザクション・プログラムがまだアクティブであるかどうかによって異なります。 -
CALL
の定義を削除するには、そのTRANSACTION
を参照するすべてのTRANSACTION
が削除されている必要があります。 整合性チェックは行われません。 -
コマンドの最後に";"を置く必要があります。
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
定義を削除してください。 整合性チェックは行われません。 -
コマンドの最後に";"を置く必要があります。
UNDEFINE TRANSACTION
用途
このコマンドは、PGデータ・ディクショナリ内のTRANSACTION
定義のオカレンスを削除します。
構文
UNDEFINE TRANSACTION tname [VERSion(tranvers|ALL)];
パラメータ
「表2-12」はUNDEFINE TRANSACTION
パラメータを記述します:
表2-12 UNDEFINE TRANSACTIONパラメータの説明
パラメータ | 説明 |
---|---|
|
必須パラメータです。 ドロップするアイテムに関連付けられた名前を指定します。 バージョンが指定されていない場合、最新の(最も番号の付いた)バージョンのみが削除されます。 |
|
オプションのパラメータ。 削除する定義の特異バージョンを指定します。指定された定義に対して |
例
UNDEFINE TRANSACTION
コマンドの例については、「管理ユーティリティのサンプル」の「"サンプルPGAU UNDEFINE文"」を参照してください。
UNDEFINE TRANSACTION使用上の注意
VARIABLE
用途
構文
VARIABLE
コマンドの構文は次のとおりです:
VARIABLE name type
パラメータ
「表2-13」はVARIABLE
パラメータを記述します。
表2-13 VARIABLEパラメータの説明
パラメータ | 説明 |
---|---|
|
変数名です。 |
|
可変データ型です |
例
VARIABLE balance NUMBER VARIABLE emp_name VARCHAR2
VARIABLE使用上の注意
-
";"を置く必要はありません。コマンドの終わりに。