機械翻訳について

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 DATA文。

  • 交換順序を記述するPGAU DEFINE CALL文。

  • 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.1 COMMIT処理

PGAUは、 COMMITコマンドを発行しません。 ユーザーは、すべての変更が実装されるときに、PG DDの変更をCOMMITする必要があります。 それ以外の場合、PGAUセッションを終了すると、OracleはデフォルトでCOMMITコマンドを発行します。 PG DDの変更をコミットしない場合は、終了する前に ROLLBACKコマンドを実行する必要があります。

2.2.2 ROLLBACK処理

PGAUは、PG DDおよびPGAU GROUPの先頭を変更する、各PGAUコマンドの最初に保存ポイントを設定します。 PGAUコマンドまたはグループ障害が発生すると、PGAUは保存ポイントにロールバックされます。

COMMITまたは ROLLBACKコマンドは、PGAUスクリプト内でコーディングすることも、PGAU内で対話的にコーディングすることもできますが、GROUP内ではコーディングできません。

PGAU GENERATEまたはREPORTコマンドに対して、COMMITROLLBACKも発行されません。

障害発生時に変更をロールバックするための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を定義およびテストする一般的なプロセスは、次のとおりです:

  1. COBOLデータ定義を使用して入力と出力を定義します。
  2. 前述のプロセスによって作成されたデフォルトのデータ名とPL/SQL変数名を再定義します(オプション)。
  3. PL/SQLパッケージの一部として生成されるPL/SQL FUNCTIONコールを定義します。
  4. 前述の機能をグループ化するトランザクションを定義します。
  5. 以前に格納したTRANSACTIONCALLおよびDATA定義からTIP仕様を生成します。
  6. TIP PL/SQLストアド・プロシージャを生成します。
  7. 高レベルのアプリケーションからTIPをコールして、TIPをテストします。

ヒントの詳細は、「ヒントの作成」を参照してください。

2.5.1 定義名

定義名は、PGAUを使用して指定する一意の識別子です。 名前は1から30バイトの文字列です。 句読点または空白が含まれている場合は、名前を二重引用符で指定する必要があります。

名前はPG DD内で一意であるとみなされます。ただし、重複した名前が意図的に一意のバージョン番号で区別される場合を除きます。 名前の一意性を確保するのはあなたの責任です。

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)は、定義の追加時に想定されます。

バージョン番号が連続していない可能性があります。 バージョン番号は常に増加していますが、特定の定義の複数のバージョンでは番号がスキップされることがあります。 これは、順序オブジェクトが同じ型(TRANSACTIONCALLまたは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.5.3 キーワード

すべてのPGAUキーワードは、大文字または小文字で指定でき、予約語ではありません。 すべてのキーワードに既知のスペルがあり、予測可能な場所に表示されるため、およびすべてのデータがカッコ、アポストロフィ、引用符または空白で区切られているため、予約は必要ありません。

キーワードの記述で特に指定されていないかぎり、キーワードで指定された引用符で囲まれていない値はすべて、 PGデータ・ディクショナリに大文字で格納されます。

2.6 PGAUコマンド

PGAUでは、通常のSQLコマンドに加えて、DEFINE, UNDEFINE, REDEFINEGENERATEなどのプロシージャ・ゲートウェイ管理コマンド(コマンド)を入力できます。 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

用途

このコマンドは、PGデータ・ディクショナリにPL/SQLコール定義の新しいバージョンを作成します。

構文

DEFINE CALL cname 
   [PKGCALL(pcname)]
   [PARMS( (dname 
           {IN | OUT | IN OUT}
           [VERSion(datavers)]), ...)];   

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

表2-1 DEFINE CALLパラメータの説明

パラメータ 定義

CALL cname

は必須パラメータです 作成するコール定義の名前です。

PKGCALL (pcname)

オプションのパラメータです。 これは、アプリケーションがコールを呼び出す PL/SQLパッケージ・プロシージャまたは関数の名前を指定します。 このオペランドを省略すると、デフォルト値cnameが想定されます。この場合、cnameはPL/SQL構文でも有効であり、このコールを参照するトランザクションおよびTIP内で一意である必要があります。

PARMS( (dname

{IN|OUT|IN OUT} [

VERSION(datavers)]), . . .)

オプションのパラメータです。 このPL/SQL関数コールに対して以前に定義したデータ入力と出力のリスト、および各パラメータのタイプ(コールへの入力、出力元またはその両方)を指定します。 パラメータの指定順序によって、アプリケーションからのTIPへの後続のコールでパラメータが表示される順序が決まります。

dname は、以前に定義したデータ・アイテムを指定し、必須です。{IN | OUT | IN OUT} は、パラメータのPL/SQLコール・モードを指定し、リモート・トランザクション・プログラムとの交換でdname データが送信されるか、受信されるか、またはその両方されるかを示します。 1つを選択する必要があります。 VERS ( datavers)は、dnameデータ定義(最新でない場合)のオプション固有のバージョン番号です。 このオペランドを省略すると、呼び出しはパラメータを取りません。

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パラメータの説明

パラメータ 説明

DATA dname

は必須パラメータです 作成するデータ定義の名前です。

PLSDNAME (plsdvar)

オプションのパラメータです。 これは、dnameに関連付けられたPL/SQL変数の名前です。 dnameアイテムがアトミック・データである場合はPL/SQL変数の名前になり、TIPが生成されるときにdnameアイテムが集計データ(レコードや構造など)である場合はPL/SQLレコード変数になります。

USAGE({PASS|ASIS|

SKIP})

オプションのパラメータです。 リモート・トランザクションとのコールで交換されるときに、TIPがデータ・アイテムを処理する方法を指定します。

PASS は、アイテムを変換してトランザクションと交換する必要があることを示します。

ASIS は、アイテムがバイナリであり、交換しても変換されないことを示します。

SKIP は、アイテムをすべての交換から削除する必要があることを示します。

このパラメータを省略すると、デフォルト値PASSが想定されます。

DEFINEまたはREDEFINE DATA PGAU文のUSAGE(NULL)キーワードはサポートされていません。

COMPOPTS

('options')

オプションのパラメータです。 リモート・ホストでデータ定義をコンパイルするときに使用されるコンパイラ・オプションを指定します。 現在サポートされているオプションは、'TRUNC(BIN)'のみです。 オプションはアポストロフィ(')または引用符(")で囲む必要があります。 TRUNC(BIN)は、ハーフ・ワードおよびフル・ワードのバイナリ値の処理方法に影響するCOBOLオプションです。

このオプションの詳細は、DEFINE DATAの使用上のノートを参照してください。

LANGUAGE

(language)

は必須パラメータです 指定された定義でプログラミング言語の名前を指定します。 PGAUは現在COBOLのみをサポートしています。

(definition)

INFILEパラメータと相互に排他的です。 データのインライン説明です。 この説明は、前述のようにCOBOL構文で指定する必要があります。 このインライン説明は、開始カッコで始まり、終了カッコで終わる必要があります。 開始カッコは行の最後の空白以外の文字である必要があり、COBOLデータ定義は列の使用および継続に関する標準のCOBOLルールに従って、新しい行で開始する必要があります。 閉じカッコと終了セミコロンは、COBOLデータ定義の最後の行に続く別の行にする必要があります。 COBOLでは、仕様はCOBOLデータ・アイテムまたは構造で、COBOLに従って定義されます。 余白は標準であるとみなされ、明示的または暗黙的な継続がサポートされています。 PL/SQLで使用する無効な文字("-"など)を含むデータ名は、最も近いものに変換され、必要に応じて切り捨てられます。

INFILE ("filespec")

( definition )パラメータと相互に排他的です。 この定義は、(definition)で記述されたインライン定義ではなく、filespec,で記述されたユーザー・ディスク・ファイルから読み取られることを示します。

filespecは二重引用符で囲む必要があります。

DEFINE DATAコマンドの例は、「管理ユーティリティの例」PGAU DEFINE DATA文の例を参照してください。

DEFINE DATAの使用上のノート

  • DATA定義のバージョンは指定されず、DATAのOracle SequenceオブジェクトのNEXTVALにデフォルト設定されます。

  • PLSDNAMEUSAGEおよび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

用途

このコマンドは、 PGデータ・ディクショナリにトランザクション定義の新しいバージョンを作成します。

構文

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パラメータの説明

パラメータ 説明

TRANSACTION tname

必須パラメータです。 作成されるトランザクション定義の名前です。 GENERATE文でパッケージ名(TIP名)を指定しない場合、ここで指定したトランザクション名がデフォルトでパッケージ名になります。 その場合、tname は一意である必要があり、PL/SQLパッケージを含むデータベース内で有効なPL/SQL構文である必要があります。

CALL(cname [VERS(callvers)], ...)

必須パラメータです。 以前に定義したコール(DEFINE CALLで作成)のリストを指定します。このコールは、まとめてこのトランザクションを構成します。 ここでコールを指定する順序によって、GENERATEによってコールが作成される順序が決まりますが、必ずしもアプリケーションによってコールされる順序ではありません。 VERS (callvers)は、コール定義(最新でない場合)のオプション固有のバージョン番号です。

左から右のシーケンスにおける各cname の相対位置は、pga_trans_callsのseq#列です。 たとえば:

CALL (cname1, cname2,cname3)

pga_trans_calls(seq#) = 1

2 3

ENVIRONMENT (name)

このトランザクションのホスト環境の名前(IBM370など)を指定します。 このパラメータを省略すると、IBM370とみなされます。 IBM370 は、このバージョンのPGAUでサポートされている唯一の環境です。

SIDEPROFILE (name)

LUNAMETPNAMEおよびLOGMODEのパラメータを「このパラメータはSNAを使用するゲートウェイではオプションですが、省略した場合、ユーザーは指定する必要があります」します。 APPC接続をトランザクション・マネージャに送信するSNA側情報プロファイルの名前を指定します。 この名前の長さは、1から8文字です。 名前値は、引用符で囲まれていない場合にのみ、'@'、'#'および'$'文字の英数字を使用できます。 引用符で囲まれた値には任意の文字を含めることができ、引用符(")またはアポストロフィ(')で区切られます。 すべての値で大文字と小文字が維持されます。

「このパラメータは、TCP/IP接続を使用するゲートウェイでは必須です」. SNAに匹敵する意味はありません。

pg4tcpmapツールを実行して、この名前をIMS Connectのホスト名、ポート番号、サブシステムIDおよびその他の必要な属性にマップする必要があります。

この名前は、IMS Connect属性が類似したIMSトランザクションのグループを表します。 同じIMS接続属性(サブシステムID、TIME遅延、ソケット・タイプなど)を共有しているかぎり、同じ名前を再利用できます。 詳細は、「PG4TCPMAPコマンド(TCP/IPのみ)」を参照してください。

LUNAME(name)

このパラメータは、SNAを使用するゲートウェイではオプションです: サイド情報プロファイルが指定されている場合は、サイド情報プロファイル内のLUNAMEをオーバーライドします。 トランザクション・マネージャ(OLTP)のSNA論理ユニット名を指定します。

これは、完全修飾LU名、長さが3から17文字、長さがLU別名1から8文字のいずれかです(ゲートウェイ・システム上のSNAソフトウェアでLU別名がサポートされている場合)。

名前の値は、完全修飾の場合はnetname.lunameのように、LUからネットワークを区切るために、@、#'および$文字と単一ピリオドを使用して英数字を使用できます。 引用符で囲まれた値には任意の文字を含めることができ、引用符(")またはアポストロフィ(')で区切られます。 すべての値で大文字と小文字が維持されます。

「このパラメータは、TCP/IP通信プロトコルを使用する場合には適用されません」.

TPNAME (name)

このパラメータは、SNAを使用するゲートウェイではオプションです: Sideプロファイルが指定されている場合は、Sideプロファイル内のTPNAMEをオーバーライドします。 起動するパートナ・トランザクション・プログラム名を指定します。

  • CICSの場合、これはCICSトランザクションIDで、長さが1から4 文字である必要があります。

  • IMSの場合、これはIMSトランザクション名で、長さが1から8文字である必要があります。

  • AS/400,の場合、これは「ライブラリ/プログラム」として指定する必要があり、21バイトを超えることはできません。

名前の値は、引用符で囲まれていない場合にのみ、'@'、'#'および'$'文字の英数字にできます。 引用符で囲まれた値には任意の文字を含めることができ、引用符(")またはアポストロフィ(')で区切られます。 すべての値で大文字と小文字が維持されます。

このパラメータは、IMS ConnectのTCP/IPサポートを使用するゲートウェイに必要です。 IMSトランザクション名である必要があります。

  • IMSトランザクション名は、1から8文字の長さにする必要があります。

LOGMODE(name)

このパラメータは、SNAを使用するゲートウェイではオプションです: サイド情報プロファイルが指定されている場合は、サイド情報プロファイル内のLOGMODEをオーバーライドします。 このトランザクションとの通信に使用されるVTAMログ・モード表エントリの名前を指定し、長さは1-8文字です。

名前の値は、'@'、'#'および'$'文字のみの英数字にできます。 値を引用符で囲むことはできません。 大文字と小文字は保持されず、常に大文字に変換されます。

「このパラメータは、TCP/IP通信プロトコルを使用する場合には適用されません」.

SYNCLEVEL (0|1)

このパラメータは、SNAを使用するゲートウェイではオプションです: このトランザクション(0または1)のAPPC SYNCLEVELを指定します。 このオペランドを省略すると、0のデフォルト値が想定されます。これは、リモート・トランザクション・プログラムが同期をサポートしていないことを示します。 値'1'は、CONFIRMがサポートされていることを示します。

TCP/IPを使用するゲートウェイ上: このパラメータのデフォルトは0で、唯一許容される値です。

NLS_LANGUAGE ("nlsname")

これはオプションのパラメータです。 デフォルト値は"american_america.we8ebcdic37c"です。 これは、language_territory.charset形式のグローバリゼーション・サポート名です。 これは、トランザクション内のすべてのシングルバイト文字セット・フィールドのリモート・ホスト・データがエンコードされるグローバリゼーション・サポート名を指定します。

「TCP/IPを使用している場合は、必ずこのパラメータをamerican_america.us7asciiに設定してください」.

REMOTE_MBCS ("nlsname")

これはオプションのパラメータです。 デフォルト値は"japanese_japan.jal6dbcs"です。 これは、language_territory.charset形式のグローバリゼーション・サポート名です。 これは、トランザクション内のすべてのマルチバイト文字セット・フィールドのリモート・ホスト・データがエンコードされるグローバリゼーション・サポート名を指定します。

LOCAL_MBCS

("nlsname")

これはオプションのパラメータです。 デフォルト値は"japanese_japan.jal6dbcs"です。 これは、 language_territory.charset形式のグローバリゼーション・サポート名です。 トランザクション内のすべてのマルチバイト文字セット・フィールドのローカル・ホスト・データがエンコードされるグローバリゼーション・サポート名を指定します。

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

用途

このコマンドを使用して、表、ビュー、ストアド・プロシージャまたは関数を記述します。 TABLEVIEWPROCEDUREのいずれも明示的に指定されていない場合は、指定された名前の表またはビューが記述されます。

構文

DESCRIBEコマンドの構文は次のとおりです:

DESCRIBE [TABLE table|VIEW view|PROCEDURE proc|some_name]

パラメータ

「表2-4」は、DESCRIBEパラメータを示します:

表2-4 DESCRIBEパラメータの説明

パラメータ 説明

table

表名は

view

ビュー名です

proc

プロシージャ名です

DESCRIBE PROCEDURE SCOTT.ADDEMP   
DESCRIBE SYS.DUAL
DESCRIBE TABLE SCOTT.PERSONNEL
DESCRIBE VIEW SCOTT.PVIEW

DESCRIBEの使用上のノート

  • コマンドの最後に「;」を配置する必要はありません。

2.6.6 DISCONNECT

用途

このコマンドを使用して、Oracleデータベースから切断します。

構文

DISCONNECTコマンドの構文は次のとおりです:

DISCONNECT    

パラメータ

なし

なし

DISCONNECTの使用上のノート

  • コマンドの最後に「;」を配置する必要はありません。

2.6.7 EXECUTE

用途

このコマンドを使用して、1行のPL/SQL文を実行します。

構文

EXECUTEコマンドの構文は次のとおりです:

EXECUTE pl/sql block  

パラメータ

pl/sql blockは、任意の有効なpl/sqlブロックです。 詳細は、Oracle Database PL/SQL言語リファレンスを参照してください。

EXECUTE :balance := get_balance(333)

EXECUTEの使用上のノート

  • コマンドの最後に「;」を配置する必要はありません

2.6.8 EXIT

用途

このコマンドを使用して、PGAUを終了します。

構文

EXITコマンドの構文は次のとおりです:

EXIT

パラメータ

なし

なし

EXIT使用上のノート

  • コマンドの最後に「;」を配置する必要はありません。

  • "quit"コマンドはPGAUの有効な文ではありません。

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パラメータの説明

パラメータ 説明

tname

は必須パラメータです これは、DEFINE TRANSACTION文で定義されたトランザクション名です。

VERSion(transvers)

オプションのパラメータです。 使用するトランザクション定義を指定します。 VERsion パラメータは、指定しない場合、デフォルトで最大番号のトランザクションに設定されます。

PKGNAME(pname)

オプションのパラメータです。 作成するPL/SQLパッケージの名前を指定します。 このオペランドを省略すると、パッケージ名はトランザクション名と同じであるとみなされます。

PGANODE (dblink_name)

オプションのパラメータです。 ゲートウェイ・サーバーへのOracleデータベース・リンク名を指定します。 このオペランドを省略すると、PGAはdblink_nameとみなされます。

OUTFILE

オプションのパラメータです。 このパラメータを指定する場合は、specname も指定する必要があります。

specpath

TIP仕様およびTIPコンテンツ・ドキュメントのオプションのディレクトリ・パスです。 デフォルトは現在のディレクトリです。 値は、バックスラッシュ(Microsoft Windowsの場合は\)、UNIXベースのシステムではスラッシュ(/)で終わる必要があります。

specname

TIP仕様のファイル名とTIPコンテンツ・ドキュメントです。 指定する場合はデフォルトでpname、指定しない場合はpgauに設定されます。

spectype

TIP仕様のオプションのファイル拡張子で、デフォルトはpkhです。

bodypath

TIP本文のオプションのディレクトリ・パスです。 デフォルトでは、specpath(指定されている場合)、または現在のディレクトリに設定されます。 値は、バックスラッシュ(Microsoft Windowsの場合は\)、UNIXベースのシステムではスラッシュ(/)で終わる必要があります。

bodyname

TIP本文のオプションのファイル名です。 指定する場合はデフォルトでspecname、指定しない場合は pname、指定する場合はpgauに設定されます。 bodyname がデフォルトでs pecname,に設定されている場合は、specnameに複数の修飾子が含まれている場合に、specnameの左端のピリオドを使用して bodynameが抽出されます。

bodytype

TIP本文のオプションのファイル拡張子で、デフォルトは pkbです。

TIPコンテンツ出力パスは、デフォルトでspecpathまたは現在のディレクトリに設定されます。 ファイルIDのデフォルトは、specname(指定されている場合)、または pname ,(指定されている場合)、またはpgau,(常に .docの拡張子を持つ)です。

詳細は、" GENERATEの使用上のノート: "、詳細はヒント内部を参照してください。

DIAGNOSE

TRACEおよびPKGEXの2つのオプションを持つオプション・パラメータです。

TRACE

PGAUの実行の内部トレースが、ユーザーの現在のディレクトリ内の出力ファイル pgau.trcに書き込まれるように指定します。

TRACE サブオプションはカンマで区切ります。

トレース・メッセージは、Oracle Support Servicesおよびその他のOracle担当者に診断ツールとして提供され、TIPの生成時に顧客の問題を診断する際に役立ちます。 これらはOracleの予約済関数の一部であり、Oracleの独自の裁量により、使用状況、インタフェースおよびドキュメントが予告なく変更される可能性があります。 この情報は、お客様が問題の症状を文書化できるように提供されています。

  • SE - サブルーチン・エントリ/終了

メッセージは、入力時にトレース・サブルーチン名と引数、終了時にサブルーチン名と条件が書き込まれます。

  • IT - Initialization/Termination

メッセージは、トレースPGAU初期化および終了関数で書き込まれます。

  • QM - キュー管理

メッセージは、トレース制御ブロックの割当て、キューイング、検索、デキューおよび削除が書き込まれます。

  • IO - Input/Output

メッセージは、.dat入力ファイル、.wrkおよびパッケージ出力ファイルの入力、出力および制御操作をトレースして書き込まれます。

  • DD - PG DD定義

PG DDからのトランザクション、コール、データ・パラメータ、フィールド、属性、環境およびコンパイラ情報のロードをトレースするメッセージが書き込まれます。

  • OC - Oracleコール

メッセージは、SQL文処理のためのOracle UPIコール結果およびPG DDからの SELECTをトレースして書き込まれます。

  • TG - ヒント生成

メッセージは、TIP生成で完了したトレース・ステップ(通常は、PL/SQLコード・セグメントが生成される各コール、パラメータおよびデータ・フィールドのレコード)が書き込まれます。

PKGEX

生成された PL/SQLパッケージに追加のTIP実行時間診断ロジックが含まれます。

PKGEX サブオプションはカンマで区切ります。

  • DC - データ変換

繰返しグループ制限の実行時チェックおよびそのような制限を超えた場合に例外の呼出しを有効にします。

UTL_PGデータ変換関数から警告メッセージを渡すことができます:

  • NUMBER_TO_RAW

  • RAW_TO_NUMBER

  • MAKE_NUMBER_TO_RAW_FORMAT

  • MAKE_RAW_TO_NUMBER_FORMAT

追加のロジックは、警告の存在をチェックし、存在する場合は、DBMS_OUTPUTコールを使用して警告を表示します。

TIP生成のデフォルトでは、TIPが本番データでテストされたという前提でこのような警告を抑制し、データ変換の異常が存在しないか、または既知であり、無視されるという警告を抑制します。

データ変換の問題が原因でエラーが発生した場合、PKGEX(DC)を有効にしてTIPを再生成すると、追加情報が提供される可能性があります。

ノート: 警告ロジックを実行するには、ランタイム・スイッチも必要です。 PKGEX(DC)では、警告ロジックのみがヒントに含まれます。 「トラブルシューティング」TIPランタイム変換警告の制御を参照してください。

TIPの実行時に実行されるデータ変換ステップをトレースするために、追加のメッセージが名前付きパイプに書き込まれます。

このオプションでは、TIPでトレース・ロジックが生成されるだけです。 TIPの初期化時に有効にする必要があります。

詳細は、「トラブルシューティング」TIPランタイム変換警告の制御を参照してください。

  • DR - ディクショナリ参照

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 DEFINEREDEFINEまたは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には、COMMITSELECTなどのSQLコマンド、またはGENERATEREPORTなどのPGAUコマンドを使用できます。

  • グループ内で最初に失敗したPGAU文によって、保存ポイントROLLBACKがグループの最初にある条件になります。 グループ内の後続のすべてのコマンドはフラッシュされ、検査されません。 PGAUの実行は、グループの後に続く文で再開されます。 その文がCOMMITの場合、失敗したグループより前に行われたすべてのPG DD変更がコミットされます。

  • コマンドの最後に「;」を配置する必要があります。

2.6.11 HOST

用途

このコマンドを使用して、PGAUを終了せずにオペレーティング・システム・コマンドを実行します。

構文

HOSTコマンドの構文は次のとおりです:

HOST host_command 

パラメータ

host_commandは、任意の有効なオペレーティング・システム・コマンドです。

HOST  vi log.out
HOST  ls -la
HOST  pwd

HOST使用上のノート

  • HOSTコマンドを使用すると、指定したオペレーティング・システム・コマンドを実行する新しいコマンド・シェルが起動されます。 つまり、実行されたコマンドによる環境の変更は、PGAUによって起動された新しいコマンド・シェルのみに影響し、PGAU自体が実行されているコマンド・シェルには影響しません。 たとえば、HOSTコマンドによって実行されるcdコマンドは、PGAU実行環境の現在のディレクトリを変更しません。

  • コマンドの最後に「;」を配置する必要はありません。

2.6.12 PRINT

用途

このコマンドを使用して、VARIABLEコマンドで定義された変数の値を出力します。

構文

PRINTコマンドの構文は次のとおりです:

PRINT varname 

パラメータ

varname は、変数コマンドで定義される変数名です。

PRINT ename   
PRINT balance

PRINT使用上のノート

  • コマンドの最後に「;」を配置する必要はありません。

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パラメータの説明

パラメータ 説明

DATA dname

は必須パラメータです 変更するデータ定義の名前です。

VERSion(datavers)

オプションのパラメータです。 変更するdname のバージョンを指定し、指定すると、更新されたdname情報に同じバージョン番号が保持され、新しいバージョンは作成されません。 省略すると、デフォルトで最高バージョンになります。

PLSDNAME(plsdvar)

オプションのパラメータです。 これは、前述のdnameに関連付けられたPL/SQL変数の名前です。 dnameアイテムがアトミック・データである場合はPL/SQL変数の名前になり、TIPが生成されるときにdnameアイテムが集計データ(レコードや構造など)である場合はPL/SQLレコード変数になります。 この名前は、DEFINE DATAによって以前に指定されていたplsdvar名をPG DDのpga_data (plsdvar)に置換します。

FIELD(fname)

オプションのパラメータです。 集計データが再定義されている場合(レコード内のフィールドの変更など)、dname アイテム内のフィールドまたはグループの名前です。

PLSFNAME(plsfvar)

FIELDが指定されている場合は、オプションのパラメータです。 これは、前述のfnameに関連付けられたPL/SQL変数の名前です。 これは、TIPの生成時にPL/SQLレコード変数内のPL/SQLフィールド変数の名前になります。 この名前は、REDEFINE DATAによって以前に指定されていたplsfvar名をPG DDのpga_data (plsfvar)に置換します。

USAGE({PASS|ASIS

|SKIP})

オプションです。 省略すると、最後に指定した使用量が保持されます。 リモート・トランザクションとの呼出しでTIPがデータ・アイテムを処理する方法を指定します:

  • PASS は、アイテムを変換してトランザクションと交換する必要があることを示します。

  • ASIS は、アイテムがバイナリであり、交換しても変換されないことを示します。

  • SKIP は、アイテムをすべての交換から削除する必要があることを示します。

指定すると、影響を受けるすべてのフィールドが、同じUSAGE値で更新されます。 (単一または複数のフィールド再定義に関するノート(FIELDの下)を参照してください)。

DEFINEまたはREDEFINE DATA PGAU文のUSAGE(NULL)キーワードはサポートされていません。

COMPOPTS ('options')

オプションです。 省略すると、最後に指定したオプションが保持されます。 NULL文字列('')として指定すると、最後に指定されたオプションが削除されます。 NULL以外の値を指定すると、最後に指定したオプションはすべて新しいオプションに置き換えられます。 現在サポートされているオプションは、'TRUNC(BIN)'のみです。 オプションはアポストロフィ(')または引用符(")で囲む必要があります。 TRUNC(BIN)は、ハーフ・ワードおよびフル・ワードのバイナリ値の処理方法に影響するCOBOLオプションです。 このオプションの詳細は、" REDEFINE DATAの使用上のノート: "を参照してください。

REMOTE_LANGUAGE ("nlsname")

オプションのパラメータです。 デフォルト値は、american_america.we8ebcdic37cまたはDEFINE TRANSACTIONNLS_LANGUAGEパラメータによってオーバーライドされます。 これは、language_territory.charset形式のグローバリゼーション・サポート名です。 これは、再定義される特定の文字フィールドのリモート・ホスト・データがエンコードされるグローバリゼーション・サポート名を指定します。 フィールドには、シングルバイトまたはマルチバイトの文字データを指定できます。

LOCAL_LANGUAGE ("nlsname")

オプションのパラメータです。 デフォルト値は、TIPの実行時にローカルOracleデータベースのLANGUAGE変数から初期化されます。 これは、anguage_territory.charset形式のグローバリゼーション・サポート名です。 再定義される特定の文字フィールドのローカルOracleデータがエンコードされるグローバリゼーション・サポート名を指定します。 フィールドには、シングルバイトまたはマルチバイトの文字データを指定できます。

LANGUAGE ("language")

定義入力が指定されている場合の必須パラメータです。 指定された定義でプログラミング言語の名前を指定します。 PGAUは現在COBOLのみをサポートしています。

(definition)

INFILEパラメータと相互に排他的です。 データのインライン説明です。 説明はCOBOL構文で指定する必要があります。 このインライン説明は、開始カッコで始まり、終了カッコで終わる必要があります。 開始カッコは行の最後の空白以外の文字である必要があり、COBOLデータ定義は列の使用および継続に関する標準のCOBOLルールに従って、新しい行で開始する必要があります。 閉じカッコと終了セミコロンは、COBOLデータ定義の最後の行に続く別の行にする必要があります。 COBOLの場合、仕様はCOBOLデータ・アイテムまたは構造であり、COBOLのルールに従って定義されます。 マージンは標準であるとみなされ、明示的または暗黙的な継続がサポートされています。 PL/SQLで使用する無効な文字("-"など)を含むデータ名は、最も近いものに変換され、必要に応じて切り捨てられます。

INFILE ("filespec")

(definition) パラメータと相互に排他的です。 この定義は、(definition)で記述されたインライン定義ではなく、filespec,で記述されたオペレーティング・システム・ファイルから読み取られることを示します。

" filespec "は二重引用符で囲む必要があります。

REDEFINEコマンドの例は、「管理ユーティリティの例」PGAU REDEFINE DATA文の例を参照してください。

REDEFINE DATAの使用上のノート:

  • PLSDNAMEFIELDまたはPLSFNAMEのいずれかを指定すると、1つのデータ・アイテムの名前を再定義でき、(definition)パラメータによって名前付きデータ・アイテムのコンテンツが再定義されます。

  • FIELDの存在は、単一のデータ・フィールドのみを示します(dnamefnameおよび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.14 REM

用途

コメントは、REMコマンドで導入するか、2文字のシーケンス/*で開始し、2文字のシーケンス*/で終了できます。

REMコマンドを使用して、コメント行を開始します。

構文

REMコマンドの構文は次のとおりです:

REM Comment 

パラメータ

Commentは任意の文字列です。

REM This is a Comment....

REMの使用上のノート

コマンドの最後に「;」を配置する必要はありません。

2.6.15 REPORT

用途

このコマンドは、 PGデータ・ディクショナリから選択したデータのレポートを生成します。 選択条件によって、次のことが決定されます:

  • 単一のTRANSACTIONCALLまたはDATAエンティティ(明示的なバージョンの有無にかかわらず)がレポートされます

  • 指定された名前を持つすべてのTRANSACTIONCALLまたは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パラメータの説明

パラメータ 説明

TRANSACTION tname

トランザクション tnameの最新バージョンまたは選択したバージョンのPG DDコンテンツをレポートします。

CALL cname

cnameコールの最新バージョンまたは選択したバージョンのPG DDコンテンツをレポートします。

DATA dname

データdnameの最新バージョンまたは選択したバージョンのPG DD内容をレポートします。

VERSION(ver1, [ver2 ...])

指定されたエントリの選択したバージョンをレポートし、ALLと相互に排他的です。

ALL TRANSACTIONS [tname]

すべてのトランザクション・エントリのすべての既存バージョンのPG DDコンテンツをレポートするか、またはオプションで特定のトランザクションtnameをレポートし、TRANSACTIONと相互に排他的です。

ALL CALLS [cname]

すべてのコール・エントリのすべての既存バージョンのPG DDコンテンツをレポートするか、またはオプションで特定のコールcnameをレポートし、CALLと相互に排他的です。

ALL DATA [dname]

すべてのデータ入力またはオプションで特定のデータdnameのすべての既存バージョンのPG DDコンテンツをレポートし、DATAと相互に排他的です。

WITH CALLS

指定されたトランザクションに関連付けられたコール・エントリをレポートします。

WITH DATA

指定されたコールに関連付けられているデータ・エントリをレポートし、トランザクションに指定されている場合は、WITH CALLSを意味します。

WITH DEBUG

レポートされるアイテムのタイプに応じて、tran#, call#, parm#, data#およびattr#のPG DD列値を適切にレポートします。

このレポートは、PG DD診断参照で生成されたヒントに役立ちます。 詳細は、GENERATE DIAGNOSE PGEX(OR)オプションを参照してください。

ISOLATED

他のすべてのパラメータと相互に排他的です。 参照されていないCALLおよびDATAエントリはすべて、欠落しているCALL、欠落しているDATAおよびCALLを参照するTRANSACTION、および欠落しているDATAを参照するCALLとともにレポートされます。

REPORTの使用上のノート:

  • レポート出力は端末に送信され、スプール、保存、および印刷が可能です。

  • データ・レポートは、元のコンパイラ言語に従ってフォーマットされ、その前にPG DDへのデータを定義する PGAU DEFINE DATAコマンドが付きます。

  • CALLおよびTRANSACTIONレポートは、PG DDへのエントリを効果的に定義する PGAU DEFINE 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パラメータの説明

パラメータ 説明

ARRAYSIZE [n]

データベースから一度にフェッチされる行数を設定します。 デフォルトは20です。

CHARWIDTH [n]

CHARデータの列表示幅を設定します。 引数なしで入力すると、 9(デフォルト)に設定が戻されます。

DATEWIDTH

DATEデータの列表示幅を設定します。 引数なしで入力すると、9(デフォルト)に設定が戻されます。

ECHO {ON|OFF}

コマンド・ファイルから入力されたコマンドのエコーを、ONまたはOFFに設定します。 デフォルトは、OFFです。

FETCHROWS [n]

問合せによって返される行数を設定します。 これは、カテゴリ内の特定の数のアイテム(たとえば、上位10個のアイテム)を検索するための順序付けされた問合せで役立ちます。 また、特定の基準を満たす最初のn レコードを検索するために、順序付けられていない問合せでも役立ちます。

LONGWIDTH [n]

LONGデータの列表示幅を設定します。 引数なしで入力すると、80(デフォルト)に設定が戻されます。

MAXDATA [n]

最大データ・サイズを設定します。 これは、SELECTコマンド中に1回のフェッチで受信できる最大データを示します。 デフォルトは20480 bytes (20K)です。

NUMWIDTH [n]

NUMBERデータの列表示幅を設定します。 引数なしで入力すると、10(デフォルト)に設定が戻されます。

SERVEROUTPUT {OFF|ON [SIZE n|n]}

DBMS_OUTPUT PUTおよびPUT_LINEコマンドを使用するストアド・プロシージャからのデバッグ出力を、ONまたはOFFに設定します。 SIZE nを使用して、メッセージ・バッファのサイズをバイト単位で指定できます。 指定したサイズは、一度に蓄積できるすべてのメッセージの合計バイト数です。 最小値は2000バイトです。 get-messageルーチンの呼び出しが追加のメッセージ・バイトの余地を残す前にバッファがいっぱいになると、メッセージを送信するプログラムにエラーが返されます。 パラメータのないSERVEROUTPUT は、SERVEROUTPUT ONと同じです。

STOPONERROR {ON|OFF}

エラーが発生した場合にコマンド・ファイルの実行を停止するかどうかを示します。 OFFを指定すると、STOPONERRORが無効になります。

TERMOUT {ON|OFF}

SQLコマンドの端末出力を有効または無効にします。 これは、出力をファイルにスプールするときに端末への出力を防止するのに役立ちます。 デフォルトはOFFで、端末出力は無効になります。

TIMING {ON|OFF}

実行された各SQL文の解析、実行およびフェッチ時間(CPUと経過時間の両方)の表示を有効または無効にします。 デフォルトはOFFで、TIMINGの表示を無効にします。

PGAU> set arraysize 30

PGAU> set CHARWIDTH

SET使用上のノート

  • コマンドの最後に「;」を配置する必要はありません。

2.6.17 SHOW

パラメータ

「表2-9」は、SHOWパラメータを示します:

表2-9 SHOWパラメータの説明

パラメータ 説明

ALL

すべての有効なSETパラメータを表示

ARRAYSIZE

データベースから一度にフェッチされる行数を示します。

CHARWIDTH

CHARデータの列表示幅を示します。

DATEWIDTH

DATEデータの列表示幅を示します。

ECHO

コマンド・ファイルからONまたはOFFに入力されたコマンドのエコーを示します。

FETCHROWS

問合せから返された行数を示します。

LONGWIDTH

LONGデータの列表示幅を示します。

MAXDATA

最大データ・サイズを表示します。

NUMWIDTH

NUMBERデータの列表示幅を示します。

SERVEROUTPUT

DBMS_OUTPUT PUTおよびPUT_LINEコマンドを使用するストアド・プロシージャからのデバッグ出力を示します。

STOPONERROR

エラーが発生した場合にコマンド・ファイルの実行を停止するかどうかを示します。

TERMOUT

SQLコマンドの端末出力が有効か無効かを示します。

TIMING

実行された各SQL文の解析、実行およびフェッチ時間(CPUと経過時間の両方)の表示が有効か無効かを示します。

VAR

PRINTコマンドと同じです。また、すべての変数とそのデータ型も表示されます。

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.18 SPOOL

用途

このコマンドを使用して、PGAU出力を取得するファイル名を指定します。 TERMOUTがオフでないかぎり、すべての出力は端末に送られます。

構文

SPOOLコマンドの構文は次のとおりです:

SPOOL [filename|OFF]   

パラメータ

ピリオドなしで単純なファイル名を指定すると、ファイル名に.logが追加されます。

filenameは、実行したコマンドの出力が配置される場所です。

SPOOL log.outfile  
SPOOL out
SPOOL OFF

SPOOL使用上のノート

  • コマンドの最後に「;」を配置する必要はありません。

2.6.19 UNDEFINE CALL

用途

このコマンドを使用して、PG DDからCALL定義のオカレンスを削除します。

構文

UNDEFINE CALL cname        [VERSion(callvers|ALL)];

パラメータ

「表2-10」は、UNDEFINE CALLパラメータを示します:

表2-10 UNDEFINE CALLパラメータの説明

パラメータ 説明

CALL cname|

必須パラメータです。 削除するアイテムに関連付けられている名前を指定します。バージョンが指定されていない場合、最新(番号が最も高い)バージョンのみが削除されます。

VERSion({datavers|

callvers|

transvers|ALL})

オプション・パラメータ。 これは、削除する定義の単数形バージョンを指定します。または、ALLの場合、指定された定義のすべての定義が削除されます。 VERSIONを省略すると、名前付き定義の最大番号バージョンが想定されます。

UNDEFINE CALLコマンドの例は、「管理ユーティリティの例」PGAU UNDEFINE文の例を参照してください。

UNDEFINE CALLの使用上のノート:

  • 定義を削除すると、 PL/SQLパッケージがその後生成されなくなります。 .pkhおよび.pkb仕様ファイルが存在し、それらの以前のTIPSがOracleデータベースのデータベースに残っている場合は、引き続きTIPを再作成できます。 このようなTIPが正常に実行されるかどうかは、対応するリモート・トランザクション・プログラムがまだアクティブかどうかによって異なります。

  • CALL定義は、それを参照するすべてのTRANSACTIONが削除された後にのみ削除します。 整合性チェックは実行されません。

  • コマンドの最後に「;」を配置する必要があります。

2.6.20 UNDEFINE DATA

用途

このコマンドを使用して、PGデータ・ディクショナリ内のDATA定義のオカレンスを削除します。

構文

UNDEFINE DATA dname        [VERSion(datavers|ALL)];

パラメータ

「表2-11」は、UNDEFINE DATAパラメータを示します:

表2-11 UNDEFINE DATAパラメータの説明

パラメータ 説明

DATA dname|

必須パラメータです。 削除するアイテムに関連付けられている名前を指定します。 バージョンを指定しない場合、最新(番号が最も高い)バージョンのみが削除されます。

VERSion({datavers|

callvers|

transvers|ALL})

オプション・パラメータ。 これは、削除する定義の単数形バージョンを指定します。または、ALLの場合、指定された定義のすべての定義が削除されます。 VERSIONを省略すると、名前付き定義の最大番号バージョンが想定されます。

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パラメータの説明

パラメータ 説明

TRANSACTION tname}

必須パラメータです。 削除するアイテムに関連付けられている名前を指定します。 バージョンを指定しない場合、最新(番号が最も高い)バージョンのみが削除されます。

VERSion({datavers|

callvers|

transvers|ALL})

オプションのパラメータ。 これは、削除する定義の単数形バージョンを指定します。または、ALLの場合、指定された定義のすべての定義が削除されます。 VERSIONを省略すると、名前付き定義の最大番号バージョンが想定されます。

UNDEFINE TRANSACTIONコマンドの例は、「管理ユーティリティの例」PGAU UNDEFINE文の例を参照してください。

UNDEFINE TRANSACTIONの使用上のノート

  • 定義を削除すると、 PL/SQLパッケージがその後生成されなくなります。 .pkhおよび.pkb指定ファイルが存在していれば、引き続きヒントを再作成できます。 以前に作成したTIPは、Oracleデータベースのデータベースに残っている場合に起動できます。 このようなTIPが正常に実行されるかどうかは、対応するリモート・トランザクション・プログラムがまだアクティブかどうかによって異なります。

  • TRANSACTION定義はいつでも削除できます。

  • コマンドの最後に「;」を配置する必要があります。

2.6.22 VARIABLE

用途

このコマンドを使用して、EXECUTEまたはPRINTコマンドで現在のセッションで使用するバインド変数を宣言するか、PL/SQLブロックで使用します。

構文

VARIABLEコマンドの構文は次のとおりです:

VARIABLE name type 

パラメータ

「表2-13」は、VARIABLEパラメータを示します。

表2-13 VARIABLEパラメータの説明

パラメータ 説明

name

変数名。

type

変数データ型です

VARIABLE balance NUMBER
VARIABLE emp_name VARCHAR2

VARIABLEの使用上のノート

  • コマンドの最後に「;」を配置する必要はありません。