機械翻訳について

D データ型変換

PGAUツールを使用してTIPを生成するとき、およびPL/SQLとUTL_RAWおよびUTL_PG関数を使用してカスタムTIPを開発するときは、データ型とデータの形式を正しく変換する必要があります。

TIPに関連するデータ型変換については、次のトピックを参照してください:

長さの確認

PGAUによって生成されたTIPは、送受信されるすべてのパラメータの最後に長さチェックを実行します。

「表D-1」は、PGAUによって生成された長さパラメータのリストを提供します:

表D-1 長さのパラメータ

パラメータ 説明

予想される長さ

TIPが生成されたときにPGAUによって計算されます。

長さを変換

変換された各フィールドのTIPで合計されます。

長さを送る

送信される送信データ長であり、送信パラメータの実際の長さと同じです。

長さを受け取る

送信された受信データの長さです。

送信されたパラメータの変換長が期待される長さと等しくない場合、例外が発生します。 これは、送信フィールドの変換が多すぎたり少なすぎたりする場合に発生します。

受信したパラメータの変換長が受信した長さと等しくない場合、例外が発生します。 これらの長さの例外は、変換が少なすぎたり多すぎたりした場合に発生します。

受信したパラメータの予想される長さが変換長または受信長と等しくなく、データ変換トレースが使用可能になっている場合に、警告が出されます。 これは、最大長レコードが予想されるが、短いレコードが送信され、正しく変換された場合に発生します。

長さ32Kを超えるパラメータ

PGAUは、32Kバイトを超える個々のデータ・パラメータの送信をサポートするTIPを生成します。

PGAU GENERATE処理が32Kを超えるデータ・パラメータの最大長を検出すると、PGAUに自動的にこのサポートが組み込まれます。

このサポートは、PG DDに配置されたデータ定義によって実行され、ユーザーが選択することはできません。 サポートを含めるには、データ定義が実際にまたは32Kを超える可能性があります。 サポートを削除するには、パラメータの長さを32K未満に、REDEFINEをデータに、GENERATEをTIPにもう一度減らす必要があります。

このサポートは、そのような境界を横切るフィールドの変換の前後で32Kバッファ境界を横切るフィールド位置をテストします。 反復グループの場合、これは、反復グループの場合は多くのフィールド、単純な線形レコードの場合は少数のフィールドになります。

各テストおよび対応するバッファ管理ロジックによりオーバーヘッドが増加します。

注意:

REDEFINE句のターゲットは、以前に処理されたバッファに存在することはできません。 そのようなREDEFINE句を含むフィールドの実行時TIP処理は、予測できない結果をもたらします。

変換

PGAUによって生成されるPG DDおよびTIPは、データを定義するときにIBMVSCOBOLIIとして指定される COBOLをサポートします。

USAGE(PASS)

USAGE(PASS)PGAU DEFINE DATA文で指定されている場合は、次のデータ型とフォーマット変換がサポートされています:

  • PIC X

  • PIC G

PIC Xデータ型変換

PGAUのTIPは、COBOLのXデータ型を同じ文字長のPL/SQL CHARデータ型に変換します。 グローバリゼーション・サポート文字セット変換も実行されます。

注意: COBOLには、可変長データ用に特別に指定されたデータ型がありません。 これは、PIC 9長さフィールドとそれに続くPIC X文字フィールドを含むサブグループとしてCOBOLで表されます。 次に例を示します。

10 NAME

1 5 LENGTH PIC S9(4)

15 LETTERS PIC X(30)

このコンテキストが与えられると、S9(4)フィールドの後にXフィールドが続くすべてのインスタンスが常に可変長データであることを保証することはできません。 上記のCOBOLグループNAMEVARCHARに変換するPGAU TIPではなく、TIPは代わりに次のように入れ子になったPL/SQLレコードを作成します:

TYPE NAME_typ is RECORD (
  LENGTH NUMBER(4,0),
  LETTERS CHAR(30));
TYPE ... is RECORD(
  ...
  NAME NAME_typ,
  ...

NAME.LETTERS からNAME.LENGTH文字を抽出し、その結果をVARCHARが必要な場合はPL/SQL VARCHARに割り当てるのは、クライアント・アプリケーションの責任です(リモート・ホスト・データの特定の知識に基づいています)。

文字セット変換は、1バイトのエンコードに対して実行されます:

  • リモート・ホスト文字データ。次のいずれかを使用します:

    • トランザクション全体のDEFINE TRANSACTION NLS_LANGUAGE文字セット、または

    • 単一のフィールドのREDEFINE DATA REMOTE_LANGUAGE文字セット(指定されている場合)。

  • ローカルのOracleキャラクタ・データ:

    • トランザクション全体の統合サーバーのLANGUAGE文字セット、または

    • 単一のフィールドのREDEFINE DATA LOCAL_LANGUAGE文字セット(指定されている場合)。

PIC Gデータ型変換

PGAUが生成したTIPは、COBOLのGデータ型を同じ長さのPL/SQL VARCHAR2データ型に変換し、すべての文字位置に対して2バイトを許可します。

文字セット変換は、2バイトおよびマルチバイトでエンコードされます:

  • リモート・ホスト文字データ。次のいずれかを使用します:

    • トランザクション全体のDEFINE TRANSACTION REMOTE_MBCS文字セット、または

    • 単一のフィールドのREDEFINE DATA REMOTE_LANGUAGE文字セット(指定されている場合)。

  • ローカルのOracleキャラクタ・データ:

    • トランザクション全体のDEFINE TRANSACTION LOCAL_MBCS文字セット、または

    • 単一のフィールドのREDEFINE DATA LOCAL_LANGUAGE文字セット(指定されている場合)。

英数字およびDBCS編集フィールドの位置

「表D-2」は、シンボルの定義を提供することによって、 PGAUがデータ型変換で COBOLシンボルをどのように解釈するかを示しています。

表D-2 COBOLのシンボル定義

COBOLシンボル COBOLシンボルのOracle定義 - データ・コンテンツ

'B'

ブランク(USAGEに応じて1バイトのSBCSまたは2バイトのDBCS)

'0'

ゼロ(1バイトのSBCS)

'/'

スラッシュ(1バイトのSBCS)

'G'

ダブルバイト

リモート・ホストから受け取ったCOBOL文データの編集された位置は、フィールド全体とともにPGAUによって変換され、対応するPL/SQL VARCHAR2出力変数のクライアント・アプリケーションに渡されます。

編集シンボルが存在する場合、それらは、リモート・ホスト・フィールドに示されたCOBOLデータの内容と長さが含まれていることを意味すると解釈されます。 編集位置はデータ・フィールドの長さに含まれますが、すべてのフィールド位置の変換はPGAUによって単一の文字列として処理され、編集されたバイト位置に対して特別なスキャンや変換は行われません。

リモート・ホストに送信されたCOBOL文・データの編集された位置は、クライアント・アプリケーションから渡されたPL/SQL VARCHAR2入力変数全体と一緒にPGAUによって変換されます。

「表D-3」は、PGAUがCOBOLデータ型をどのように変換するかの例を示しています:

表D-3 COBOL-PGAU変換

COBOLデータ型 PGAUによる変換の説明

PIC XXXBBXX

英数字フィールドの長さは7バイトで、単一のUTL_RAW.CONVERT呼び出しで変換されます。 'B'で示されたバイト位置の内容については、テストまたは変換は行われません。 COBOL言語の規則では、これらの位置にリモート・ホスト用に指定されたキャラクタ・セットに"blank"が含まれていることが示されていますが、実際にはどのデータがユーザーの責任であるかを示します。

PIC GGBGGG

DBCSフィールドの長さは12バイトで、単一のUTL_RAW.CONVERT呼び出しで変換されます。 'B'で示されたバイト位置の内容については、テストまたは変換は行われません。 COBOL言語の規則では、これらの位置にリモート・ホスト用に指定されたキャラクタ・セットに"blank"が含まれていることが示されていますが、実際にはどのデータがユーザーの責任であるかを示します。

PIC 9

PGAUのTIPは、COBOLの9データ型を、同じ精度と位取りのPL/SQL NUMBERデータ型に変換します。 グローバリゼーション・サポート文字セット変換は、記号、通貨記号、およびスペースに対しても実行されます。

次の内容がサポートされています。

  • COMPUTATIONAL (binary)

  • COMPUTATIONAL-3 (パック10進数)

  • COMPUTATIONAL-4 (binary)

  • DISPLAY (ゾーン10進数)

DISPLAYデータ型の場合、次の符号仕様がサポートされています:

  • SEPARATE [CHARACTER]

  • LEADING

  • TRAILING

数値データ型変換の詳細については、「UTL_PGインタフェース」「"NUMBER_TO_RAWおよびRAW_TO_NUMBERの引数値"」を参照してください。

COMPUTATIONAL-1 およびCOMPUTATIONAL-2 (浮動小数点)データ型はサポートされていません。

FILLER

COBOLのFILLERフィールドは、要素名FILLERの綴りによってPGAUによって認識されます。 PGAUは、そのような要素に対するデータ変換を生成しませんが、リモート・ホスト・トランザクションと交換されるレコード内のオフセットを保存するために、その領域を適切に割り当てる必要があります。

RENAMESまたはREDEFINES定義がFILLER要素をカバーする場合、PGAUはRENAMESまたはREDEFINES変数のコンポーネントとして参照されるときに、同じエリアのデータ変換文を生成します。 このようなデータ変換には、RENAMESまたはREDEFINES定義の形式のみが反映され、FILLER定義の境界は反映されません。

フォーマット変換

「表D-4」はフォーマット変換を記述する:

表D-4 フォーマット変換の説明

項目 説明

JUSTIFIED | JUSTIFIED RIGHT

これにより、INOUTパラメータの両方について、「"PIC Xデータ型変換"」で説明したように、リモート・ホストのトランザクション・データがPL/SQL CHARデータ型の文字データ型に変換されます。

アプリケーションから渡されたINパラメータ・データは、その右端の空白が取り除かれ、必要に応じて埋められます。 その後、リモート・ホストに送信されます。

OUTパラメータのデータは、リモート・ホストから受信したときに整列され、必要に応じて左に空白が埋められます。 その後、アプリケーションに渡されます。

JUSTIFIED LEFT

これにより、TIP生成中に警告が発行されます。 アライメントは行われません。 これはドキュメントとして扱われます。

リモート・ホストのトランザクション・データは、INOUTパラメータの両方について、「"PIC Xデータ型変換"」で説明したように、文字データ型に従ってPL/SQL CHARデータ型として変換されます。

LENGTH IS field-2

これは、PG DDに格納されているデータ定義に対するOracle拡張です。 この拡張はPGAUコンテキストにのみ存在し、有効なCOBOL構文ではありません。

この拡張の目的は、可変長文字データがTIP変換ロジックにより効率的に処理される手段を提供することです。 これは、可変長PIC XフィールドをPIC X(1) OCCURS DEPENDING ON field-2として定義する代わりに使用できます。ここで、field-2はフィールドの長さです。 この拡張で、同じフィールドをPIC X(5000) LENGTH IS field-2と定義することができます。ここで、field -2はフィールドの長さです。 TIPは、ループを使用して一度に1文字ずつ変換するのではなく、1つのUTL_RAW.CONVERT呼び出しでフィールドの長さを取得し、文字セット変換を行うことができます。

この構文を使用しても、COBOLプログラムには影響しないことに注意してください。 PIC X (またはPIC G)フィールドは、COBOLに関する限り固定長であるため、データの位置は変更されず、ゲートウェイとOLTP間で転送されるデータの量も変化しません。 ただし、フィールドがCOBOL定義の最後のフィールドである場合は、LENGTH IS句で参照されるfield-2フィールドに設定された長さを満たすのに必要なバイト数だけを送信するようにCOBOLプログラムを変更できます。

LENGTH IS句は、PIC XおよびPIC Gフィールドにのみ指定でき、これらのフィールドのピクチャ・マスクには編集文字を含めることはできません。

OCCURS n TIMES

これは、PL/SQL変数のセットの正確に'n'インスタンスを、リモート・ホスト・レコード内の反復グループ・エリアに変換します。このエリアのサイズは、グループの長さの時間'n'の繰り返しと等しくなります。 PGAUが生成したTIPは、反復グループ内のフィールドに配列のような下付き文字を実装するためにTABLEのPL/SQL RECORDを使用します。 PL/SQLは単一ディメンションのTABLEをサポートしているため、PGAUはOCCURSグループの単一レベルのみをサポートしています。 ネストされたOCCURSグループはサポートされていません。 実行される変換およびフォーマットは、「"PIC Xデータ型変換"」および「"フォーマット変換"」に記載されているように、繰り返しグループ内で定義された各サブフィールドのCOBOLデータ型によって決定されます。

OCCURS m TO n TIMES DEPENDING ON field-2

これは、PL/SQL変数のセットの"n"インスタンスを、リモート・ホスト・レコード内の反復グループ領域に、またはその反復グループ領域から少なくとも'm'の変換を引き起こします名前付きフィールドに含まれています。 PGAUが生成したTIPは、反復グループ内のフィールドに配列のような下付き文字を実装するためにTABLEのPL/SQL RECORDを使用します。 PL/SQLは単一ディメンションのTABLEをサポートしているため、PGAUはOCCURS DEPENDING ONグループの単一レベルのみをサポートしています。 ネストされたOCCURS DEPENDING ONグループはサポートされていません。 実行される変換およびフォーマットは、「"PIC Xデータ型変換"」および「"フォーマット変換"」に記載されているように、繰り返しグループ内で定義された各サブフィールドのCOBOLデータ型によって決定されます。

レンジ変換: PGAUで生成されたTIPは、TIMESの上限が指定されている範囲で、1から1の範囲で'FOR ... LOOP'アルゴリズムを使用します。 TIPがDIAGNOSE(PKGEX(DC))オプションで生成された場合、OCCURS DEPENDING ON反復グループを反復するPL/SQL FOR文の前にIFテストがあり、DEPENDING ONフィールドに指定された範囲内にある番号が下限1である必要はない。 このテストが失敗した場合は例外が発生します。

RENAMES item-2 THRU item-3

単一のPL/SQL変数宣言がRENAMES定義に対応しています。 RENAMES定義でカバーされるすべてのサブフィールドがPIC Xである場合、PL/SQL変数はVARCHAR2です。 それ以外の場合は、非PIC XサブフィールドはPL/SQL変数データ型をRAWにします。

名前を変更したフィールドの長さは、元のフィールドによって長さが決まるため、パラメータ・データの長さ全体に影響を与えません。

REDEFINES item-2 WHEN item-3=value

'WHEN item-3=value'は、PG DDに格納されているデータ定義に対するOracleの拡張機能です。 この拡張はPGAコンテキストにのみ存在し、有効なCOBOL構文ではありません。

この拡張の目的は、ゲートウェイ管理者またはアプリケーション開発者が再定義が適用される基準を指定する手段を提供することです。 たとえば、レコード・タイプ・フィールドはレコード内に存在することが多く、処理されるレコード・タイプに応じて異なるレコード・フォーマットが適用されます。 どの型の値をどの再定義に適用するかの指定は、通常、データ定義ではなくトランザクション・プログラミング・ロジックに埋め込まれます。 TIPで再定義されたフォーマットで実行する変換を指定するために、WHEN基準がPGAデータ定義に追加されました。

PGAUは、名前とデータ型がREDEFINES定義でカバーされる従属要素に対応するPL/SQLネストされたレコード宣言を生成します。 「"PIC Xデータ型変換"」で説明されている標準のPGAUデータ型の決定。

LEVEL 01 REDEFINEは無視されます:

これにより、リモート・ホストのコピーブックは、TIP内にこのようなバッファを定義することなく、または定義のための入力として使用されるコピーブックを変更することなく、他のトランザクション作業用ストレージ・バッファであるREDEFINEの定義を含めることができます。

SYNCHRONIZED | SYNCHRONIZED RIGHT

これにより、数値フィールドは、リモート・ホスト環境、コンパイラ言語、およびデータ型によって決まる境界に整列されます。

INOUTパラメータの両方について、「"PIC Xデータ型変換"」で説明したように、数値データ型に従って整列されたデータ・フィールドに対して数値変換が実行されます。

SYNCHRONIZED LEFT

これにより、TIP生成中に警告が出され、再配置は実行されません。 これはドキュメントとして扱われます。

INOUTパラメータの両方について、「"PIC Xデータ型変換"」で説明したように、数値データ型に従って整列されたデータ・フィールドに対して数値変換が実行されます。

USAGE(ASIS)

PGAUのDEFINE DATA文でUSAGE(ASIS)が指定されている場合、変換は実行されません。 したがって、このような各フィールドは、同じバイト長のPL/SQL RAWに単純にコピーされます。 変換、変換、または再フォーマットは行われません。

USAGE(SKIP)

USAGE(SKIP)がPGAUのDEFINE DATA文で指定されている場合、データ交換は実行されません。 データは存在しないかのようにスキップされます。 したがって、このようなフィールドは、PG DDから選択されず、TIPロジックに反映されず、リモート・ホストと交換されるデータ・ストリームには存在しないものと推定されます。 "SKIP"の目的はPG DDに定義を持たせることですが、おそらくリモート・ホストがフィールドを削除したか、フィールドをまだ含んでいないためです。 SKIPを使用すると、一部のフィールドがリモート・ホストに存在しない場合でも、既存のデータ定義を使用できます。

PL/SQL命名アルゴリズム

デリミタ

レコード、グループ、およびエレメント名のCOBOL特殊文字は、PGAU DEFINEが定義をPG DDに挿入するときに変換され、PG DDから定義が選択されるときにPGAU GENERATEによって変換されます。 特殊文字は次のように変換されます:

  • ハイフンはアンダースコア(_)に変換されます。

  • 期間は削除されます

修飾されたコンパウンド名

PL/SQL変数名は完全修飾されており、以下から構成されています:

  • PL/SQLレベル01または77のCOBOLレコード名に対応する左端の修飾子としてのレコード名。

  • PL/SQL COBOLグループ名に対応するネストされたレコード名。

  • PL/SQLデータ型のCOBOL要素に対応するネストされたフィールド:

    • CHARまたはNUMBERは、反復しないCOBOL要素に対応します。

    • OCCURSまたはOCCURS DEPENDING ONグループに属するCOBOL要素に対応するTABLE (COBOL反復フィールドは、TABLEのPL/SQLネストされた RECORDに対応します)。

呼び出し元アプリケーションからPL/SQL変数を参照する場合、TIPパッケージ名の先頭に修飾子を付ける必要があります。 したがって、以下に対応するPL/SQL変数への完全修飾参照:

  • SKILLは次のとおりです:

tipname.EMPREC_Typ.SKILL(SKILL_Key)
  • HOME_ADDRESS ZIPは:

tipname.EMPREC_Typ.HOME_ADDRESS.ZIP.FIRST_FIVE
tipname.EMPREC_Typ.HOME_ADDRESS.ZIP.LAST_FOUR 

切り詰められた名前と非一意の名前

名前が次の値を超えた場合、PGAUはフィールド名と対応するPL/SQL変数名を切り捨てます:

  • 集約レコードまたはグループ内のフィールドの場合は26バイト

    これは、各フィールドまたはPL/SQL変数名にサフィクスを付ける必要があるためです:

    • グループ名の"_Typ"

    • 繰り返しグループを持つ要素名の場合は"_Tbl"

    または

  • 任意の名前に対して30バイトのPL/SQL制限のために30バイト

    右端の4文字は切り捨てられます。 これは、名前が26文字に一意であるという制約を課します。

重複名

COBOLではレコード内の同じグループ名または要素名を繰り返し定義することができ、上位グループのコンテキストは名前を一意に修飾する役割を果たします。 ただし、PGAUで生成されたTIPは、従属グループおよびフィールドのネストされたPL/SQLレコードを参照するPL/SQLレコード変数を宣言するため、このようなネストされたPL/SQLレコード・タイプは重複する名前を持つ可能性があります。

以下のCOBOL定義が与えられると、ZIPはCOBOLで一意に修飾されますが、対応するPL/SQL宣言にはZIPの重複したネストされたレコード・タイプがあります。

01  EMPREC.     
    05 HIREDATE             PIC X(8).   
    05 BIRTHDATE            PIC X(8). 
    05 SKILL                PIC X(12) OCCURS 4.  
    05 EMPNO                PIC 9(4).
    05 EMPNAME.  
       10 FIRST-NAME        PIC X(10).
       10 LAST-NAME         PIC X(15).   
    05 HOME-ADDRESS. 
       10 STREET            PIC X(20).  
       10 CITY              PIC X(15). 
       10 STATE             PIC XX. 
       10 ZIP.   
          15 FIRST-FIVE     PIC X(5).  
          15 LAST-FOUR      PIC X(4).   
    05 DEPT                 PIC X(45).    
    05 OFFICE-ADDRESS.          
       10 STREET            PIC X(20).  
       10 CITY              PIC X(15).
       10 STATE             PIC XX. 
       10 ZIP.                         
          15 FIRST-FIVE     PIC X(5).     
          15 LAST-FOUR      PIC X(4).  
    05 JOBTITLE             PIC X(20).

PGAUは重複したネストされたレコード型の宣言を避け、次のPL/SQLを生成します:

SKILL_Key BINARY_INTEGER;                                                                                 
TYPE SKILL_Tbl is TABLE of CHAR(12) 
                     INDEX by BINARY_INTEGER;                                                                                           
      TYPE EMPNAME_Typ is RECORD (   
           FIRST_NAME            CHAR(10),   
                       LAST_NAME                           CHAR(15));                                                                                    
      TYPE ZIP_Typ is RECORD (  
           FIRST_FIVE            CHAR(5), 
                     LAST_FOUR                         CHAR(4));                                                                               
      TYPE HOME_ADDRESS_Typ is RECORD (
           STREET                CHAR(20), 
           CITY                  CHAR(15),  
           STATE                 CHAR(2), 
                      ZIP                                     ZIP_Typ);                                                                                 
      TYPE OFFICE_ADDRESS_Typ is RECORD (   
           STREET                CHAR(20),
           CITY                  CHAR(15),  
           STATE                 CHAR(2),   
           ZIP                   ZIP_Typ); 
                                                                                       
      TYPE EMPREC_Typ is RECORD (  
           HIREDATE              CHAR(8), 
           BIRTHDATE             CHAR(8),  
           SKILL                 SKILL_Tbl, 
           EMPNO                 NUMBER(4,0),   
           EMPNAME               EMPNAME_Typ, 
           HOME_ADDRESS          HOME_ADDRESS_Typ,
           DEPT                  CHAR(45),
           OFFICE_ADDRESS        OFFICE_ADDRESS_Typ,
           JOBTITLE              CHAR(20));

ただし、ネストされた複数のグループの名前が同じでも、サブフィールドが異なる場合は、次のようにZIPを参照してください:

05 HOME-ADDRESS.   
      10 STREET             PIC X(20). 
      10 CITY               PIC X(15).   
      10 STATE              PIC XX. 
      10 ZIP.                     
         15 LEFTMOST-FOUR   PIC X(4).
         15 RIGHMOST-FIVE   PIC X(5).    
05 DEPT                     PIC X(45).   
05 OFFICE-ADDRESS.  
   10 STREET                 PIC X(20). 
   10 CITY                   PIC X(15). 
   10 STATE                  PIC XX.  
   10 ZIP.                     
      15 FIRST-FIVE          PIC X(5). 
      15 LAST-FOUR           PIC X(4).  
05 JOBTITLE                  PIC X(20).   
         

PGAUは、名前、データ型、またはオプションが異なるサブフィールドの各宣言に対して、PL/SQLネストされたレコード・タイプの名前を変更します。 2番目の宣言(ZIP_Typ02)に追加された"02"と、OFFICE_ADDRESSでのその参照に注意してください。

TYPE EMPNAME_Typ is RECORD (    
    FIRST_NAME              CHAR(10),
      LAST_NAME                       CHAR(15));                                                                                 
TYPE ZIP_Typ is RECORD (
    LEFTMOST_FOUR         CHAR(4),  
     RIGHTMOST_FIVE        CHAR(5));                                                                 
    TYPE HOME_ADDRESS_Typ is RECORD (    
    STREET                CHAR(20), 
    CITY                  CHAR(15),
    STATE                 CHAR(2),
       ZIP                                  ZIP_Typ);                                                                                  
TYPE ZIP_Typ02 is RECORD ( 
    FIRST_FIVE            CHAR(5), 
       LAST_FOUR                       CHAR(4));                                                                                 
TYPE OFFICE_ADDRESS_Typ is RECORD ( 
    STREET                CHAR(20),   
    CITY                  CHAR(15),   
    STATE                 CHAR(2), 
       ZIP                                  ZIP_Typ02);                                                                                
TYPE EMPREC_Typ is RECORD (
    HIREDATE              CHAR(8), 
    BIRTHDATE             CHAR(8),  
    SKILL                 SKILL_Tbl,   
    EMPNO                 NUMBER(4,0),  
    EMPNAME               EMPNAME_Typ, 
    HOME_ADDRESS          HOME_ADDRESS_Typ, 
    DEPT                  CHAR(45),    
    OFFICE_ADDRESS        OFFICE_ADDRESS_Typ,   
    JOBTITLE               CHAR(20));  

そして、PL/SQL変数への完全修飾された参照は以下に対応します:

  • HOME_ADDRESS.ZIPは次のとおりです:

    tipname.EMPREC_Typ.HOME_ADDRESS.ZIP.LEFTMOST_FOUR
    tipname.EMPREC_Typ.HOME_ADDRESS.ZIP.RIGHTMOST_FIVE 
    
  • OFFICE_ADDRESS.ZIPは次のとおりです:

    tipname.EMPREC_Typ.OFFICE_ADDRESS.ZIP.FIRST_FIVE
    tipname.EMPREC_Typ.OFFICE_ADDRESS.ZIP.LAST_FOUR
    

ネストされたレコード・タイプ名ZIP_Typ02は参照では使用されていませんが、ネストされたレコードのPL/SQL関連付け内では暗黙的です。