ヘッダーをスキップ

Oracle Applications開発者ガイド
リリース12
E06048-01
目次へ
目次
前のページへ
前へ
次のページへ
次へ

Oracle Reportsコンカレント・プログラムのコーディング

Oracle Reports

Oracle Reportsのレポートを作成してOracle Application Object Libraryと統合し、フォームから、または標準要求発行によって、コンカレント・プログラムとして実行できます。

この章では、Oracle Reports実行ファイルはappsrwrun.shとして引用されています。Oracle Reports実行ファイルの名前は、使用しているOracle Reportsのバージョンによって異なる場合があります。

オプションとして、動的通貨書式設定などのOracle Application Object Libraryユーザー・イグジットを、Oracle Reportsプログラムで使用することもできます。

Oracle Reportsはコンカレント・マネージャにより、キャラクタ・モードまたはビットマップ・モードのいずれかで指定されているモードで実行されます。また、レポート出力の方向やページ・サイズも指定できます。

この章の終わりに、Oracle Reportsプログラムのトラブルシューティング・ガイドが掲載されています。

Oracle Reportsでのコンカレント処理

Oracle Applicationsのほとんどのレポートは、コンカレント・マネージャからコンカレント処理として起動されます。UNIXシステムの多くでは、コンカレント・マネージャはそれが起動したシェルからの環境変数を継承します。その後、レポートはこの環境から実行されます。

Oracle Reportsの統合

Oracle Reportsプログラムに対し、コンカレント・マネージャはレポート説明ファイルで実行ファイルappsrwrun.shを実行します。この実行ファイルには、Oracle Applicationsユーザー・イグジットが含まれています。Oracle Reportsプログラムがレポート出力を生成する場合、適切な印刷ドライバが定義されていれば、プログラムの完了後にコンカレント・マネージャから自動でレポート出力ファイルを印刷できます。

PL/SQLライブラリの使用

レポートを実行する直前に、コンカレント・マネージャによっていくつかの値が環境変数$REPORTS_PATHの前に動的に付加されます。次のものはその例です。

REPORTS_PATH = $[PROD]_TOP/$APPLPLS:$[PROD]_TOP/$APPLREP

    :$[PROD]_TOP/$APPLREP/LANGDIR

    :$AU_TOP/$APPLPLS:$REPORTS_PATH

コンカレント・マネージャがレポートを実行する前に、PL/SQLライブラリが$[PROD]_TOP/$APPLPLSに、外部問合せのようなその他のレポート・オブジェクトや定型挿入文テキストなどが$[PROD]_TOP/$APPLREPに、共有ライブラリが$AU_TOP/$APPLPLS内のREPORTS_PATHに配置されます。$[PROD]_TOPはレポートを所有しているアプリケーションのベースパスで、LANGDIRはUSやFRなど特定の言語のためのディレクトリです。

インストール時に設定されるAPPLSYS.envでは、REPORTS_PATHが$AU_TOP/$APPLPLSに設定されています。これを変更して、カスタマイズしたライブラリを含めることもできます。

関連項目: 『Oracle Applications概要』

Oracle Reportsビットマップ・バージョン

コンカレント・プログラムをOracle Reportsのビットマップ・バージョンで定義するには、「コンカレント・プログラムの定義」フォームの「出力タイプ」ポップリストでPostScript、HTMLまたはPDFのいずれか適切なものを選択します。

ORIENTATIONパラメータまたはトークンを渡して、ビットマップ化されたレポートの方向を制御できます。たとえば、横方向にレポートを生成するには、「実行オプション」で次のオプションを指定します。

ORIENTATION=LANDSCAPE

実行オプションの値の前後には複数の空白を入れないでください。パラメータは1つの空白のみで区切る必要があります。PORTRAITを使用すると、縦方向に指定できます。

生成する出力のディメンションをPAGESIZEパラメータで制御できます。「オプション」フィールドに<width>x<height>と指定すると、レポート定義で指定された値より優先されます。たとえば、次のように指定します。

ORIENTATION=LANDSCAPE PAGESIZE=8x11.5

幅および高さの単位は、Oracle Reportsの定義によって決定されます。単位は、Oracle Reportsのメニューの「レポート」=>「グローバル・プロパティ」=>「単位」で設定します。

PAGESIZEパラメータで指定したページ・サイズがレポートの設計より小さい場合は、「REP-1212」エラーが発生し、レポートは実行されません。

Oracle Reportsパラメータ

コンカレント・マネージャはトークンを使用してOracle Reportsプログラムにプログラム引数を渡すため、順序は問題ではありませんが、メンテナンスしやすくするために、プログラムをコールして引数を渡すときに指定するのと同じ順序で引数を受け取るようにプログラムを作成します。

Oracle Reportsプログラム・パラメータはNULL値を予期していません。したがって、コンカレント・マネージャからプログラムへNULL値を渡すことはできません。

Oracle Reportsプログラムの実装には、2つの方法かあります。

標準要求発行

Oracle Reportsプログラムを標準要求発行によって使用するようにする場合、「コンカレント・プログラム」フォームの「SRSで使用」チェック・ボックスを選択し、コンカレント・プログラム・パラメータ・ブロックで引数を定義します。Oracle System Administrationを使用してプログラムを適切なレポート・セキュリティ・グループに追加すると、プログラムを「要求の発行」フォームで使用できるようになります。

さらに、「要求の発行」フォーム以外のフォームからもFND_REQUEST.SUBMIT_ REQUESTを使用してプログラムをコールする場合には、引数のための値を、それを登録した順序で入力します。「要求の発行」フォームまたはFND_REQUESTからプログラムが発行されると、コンカレント・マネージャによって、引数の登録時に定義したトークンが入力した値に自動的に追加されます。コンカレント・マネージャはトークン化された引数(token1=parameter1、token2=parameter2など)をOracle Reportsプログラムに渡します。この場合、各パラメータ値は、関連付けられているトークンの長さを除き、240文字の長さまで可能です。

非標準要求発行

標準要求発行からOracle Reportsプログラムを使用しないようにする場合は、フォームからのFND_REQUESTコールでOracle Reportsプログラムにトークンを渡します。この場合は、「コンカレント・プログラム」フォームの「SRSで使用」チェック・ボックスの選択を解除します。フォームの各引数TOKEN =parameterは、トークン名を含め最長で240文字に収まるように注意します。

ユーザー・イグジットおよびプロファイル・オプションへのアクセス

プログラムに適切なコールを含めると、Oracle Application Object Libraryで、ユーザー・プロファイル情報にアクセスしたり、Oracle Reportsプログラムからユーザー・イグジットを実行できます。また、これらのOracle Application Object Libraryコールによって、レポートが自動的に正しい組織(複数の組織または「複数組織」インストールの場合)にアクセスできるようになります。

FND SRWINITおよびFND SRWEXITのコール

プロファイル値、複数組織またはOracle Applicationsユーザー・イグジットにアクセスするには、かつプログラムをコンカレント処理のみで使用するには、Oracle Reportsプログラムでコールする最初のユーザー・イグジットと最後のユーザー・イグジットを、それぞれFND SRWINITおよびFND SRWEXITとする必要があります。

FND SRWINITによりプロファイル・オプション値が設定され、それによってOracle Application Object Libraryユーザー・イグジットがOracle Reportsプログラムからのコールを受け取るようになります。FND SRWEXITが、Oracle Application Object Libraryユーザー・イグジットに割り当てられたすべてのメモリーを適切に解放します。プログラムで正しくFND SRWINITおよびFND SRWEXITをコールするには、次の手順に従います。

警告: Oracle Application Object LibraryおよびOracle Reportsの今後のリリースでは、FND SRWINITおよびFND SRWEXITへのアクセス手順がより簡略化される可能性があります。オラクル社は、これらの手順についてサポートを打ち切る権利を保持しています。Oracle ReportsプログラムとOracle Application Object Libraryとの統合に次の手順を使用する場合は、将来的に別の統合手順に変わることを念頭に置いてください。

その他のOracle Application Object Libraryユーザー・イグジットのコール

FND SRWINITとFND SRWEXITに加え、これらの統合手順でいくつかのOracle Application Object Libraryユーザー・イグジットをコールして、ユーザー・プロファイル値にアクセスしたり、Oracle Reportsプログラムで計算を実行したりできます。

関連項目: 『Oracle Applicationsフレックスフィールド・ガイド』

Oracle Reportsプログラムからは、これらのユーザー・イグジットと同様、ユーザー・プロファイル・ルーチンなどの多くのOracle Applications PL/SQLルーチンをコールできることに注意してください。通常は、可能なかぎりユーザー・イグジットではなくPL/SQLルーチンを使用します。

Oracle ReportsプログラムからのOracle Applicationsユーザー・イグジットのコールをテストするには、オペレーティング・システムからappsrwrun.shを実行します。

Oracle Reportsで使用するユーザー・イグジット

Oracle Reportsで使用可能なユーザー・イグジットは次のとおりです。

関連項目: 『Oracle Applicationsフレックスフィールド・ガイド』

FND SRWINIT / FND SRWEXIT

FND SRWINITによりプロファイル・オプション値が設定され、Oracle ReportsプログラムからコールされたことをOracle Application Object Libraryユーザー・イグジットが検出できるようになります。さらに、FND SRWINITによって、レポートが常に正しい組織を使用するようになります。また、FND SRWEXITは、Oracle Application Object Libraryユーザー・イグジットに割り当てられたすべてのメモリーを適切に解放します。

FND FLEXIDVAL / FND FLEXSQL

これらのユーザー・イグジットによって、レポート内のフレックスフィールドが使用可能になります。フレックスフィールドは、『Oracle Applicationsフレックスフィールド・ガイド』で説明されています。

Oracle Reportsでの動的通貨の使用

通貨書式設定サポートは、関連付けられている通貨に応じて数値をフォーマットするための、フレキシブルで一貫した手段を提供します。通貨の値は、ユーザーの国に対応した適切な3桁区切りと基数文字(小数点)で表示されます。値にプラスおよびマイナスの記号を表示するかどうかも選択できます。

表示される通貨の値は、明示的に指定しないかぎり、四捨五入や切り捨てが行われることはありません。フォーマット後の数値(3桁区切りを含む数値)が出力フィールドに収まらない場合は、3桁区切りなしで数値が表示されます。それでもまだフィールドに対し長すぎる場合は、フィールド内にアスタリスク記号(***)が表示され、数値が長すぎることを警告します。

単一通貨を使用するレポート・リージョン(たとえば、USドルでの金額)のサポート、および混合通貨を使用するレポート・リージョン(たとえば、USドルおよび日本円での金額)のサポートは、どちらも同じ方法で追加できます。ただし、混合通貨で金額をレポートする場合、特別な引数を含めて、異なる通貨型をすべて1つの標準点(通常は、最も精度の高い通貨の精度)に揃えることを指定します。この精度はプロファイル・オプションで定義するか、レポートの実行時に設定します。

通貨書式設定要件

単一の通貨タイプに基づくレポートでは、通貨金額は次の例のように基数文字を揃えて表示されます。

 Currency Value  Code

                 --------------  ----

                     120,300.00  USD

                      -4,201.23  USD

                or

              120,300.00   USD

                     (4,201.23)  USD

                or

                    120,300.00+  USD

                     -4,201.23   USD

括弧などのように通貨金額の右にマイナスまたはプラスの記号が表示されるようにユーザーが選択している場合は、その値は右揃えではなく、記号の分だけ左に寄るかたちで表示されます。

混合通貨レポートでは、通貨金額は基数文字(JPYのように小数桁のない通貨では暗黙的な基数)に揃えて表示されます。

   Currency Value  Code

   --------------  ----

                    300.00       USD

                    105.250      DNR

                  1,000          JPY

                -24,000.34       FRF

FND FORMAT_CURRENCYユーザー・イグジットをコールして、Currency Valueの列の書式をフォーマットします。この混合通貨レポートでは、最小精度(ユーザー・イグジットのMINIMUM_PRECISIONトークンで指定)は3に設定されています。

FND FORMAT_CURRENCYユーザー・イグジット

このユーザー・イグジットは、実際の通貨金額、標準精度、値が混合通貨リージョンのものかどうか、プラスおよびマイナスの書式のプロファイル・オプション、サイトの場所(国)に基づいて、通貨金額を動的に書式設定します。サイトの場所により、通貨金額の表示に使用される3桁区切りや基数文字が決まります。3桁区切りを表示するかどうかは、追加のプロファイルで指定します。

特定の通貨の標準精度、拡張精度、最小精度は、「通貨」ウィンドウで設定します。

通貨の値をデータベースからOracle Reportsの列に取り込みます。別のOracle Reports列を、FORMAT_CURRENCYユーザー・イグジットを実行して通貨の値をフォーマットするCHAR型の計算式列として定義します。表示フィールドにこの計算式列をソースとして割り当て、フォーマットされた数値がこのフィールドに自動的にコピーされ、表示されるようにします。

関連項目: 『Oracle General Ledgerユーザーズ・ガイド』

構文

  FND FORMAT_CURRENCY

CODE=":column containing currency code"

        DISPLAY_WIDTH="field width for display"

        AMOUNT=":source column name"

        DISPLAY=":display column name"

        [MINIMUM_PRECISION=":P_MIN_PRECISION"]

        [PRECISION="{STANDARD|EXTENDED}"]

        [DISPLAY_SCALING_FACTOR="":P_SCALING_FACTOR"]

オプション

変数 説明
CODE 金額の通貨コードがある列を指定します。この列のデータ型はCHARACTERです。
DISPLAY_ WIDTH フォーマットされた金額を表示するフィールドの幅を指定します。
AMOUNT データベースから取得した金額を格納する列の名前を指定します。この金額のデータ型はNUMBERです。
DISPLAY フォーマットした値を表示する列の名前を指定します。この列のデータ型はCHARACTERです。
MINIMUM_ PRECISION このレポート・リージョンで使用されるすべての通貨を揃える精度を指定します。混合通貨のレポート・リージョンでは、MINIMUM_PRECISIONトークンを指定して、判読しやすいようにすべての通貨の値を基数文字で揃えて表示します。レポートの発行時に入力パラメータを設定してレポートを調整し、個々のレポート出力を目的の最小精度にするか、プロファイル・オプションCURRENCY:MIXED_PRECISION(通貨: 混合通貨精度)で設定されたデフォルトを受け入れることができます。レポートの発行で値をレポート引数として渡す必要があります。この字句の名前にはP_MIN_PRECISIONを使用します。
PRECISION STANDARDと指定すると、標準精度が使用されます。EXTENDEDと指定すると、数値をフォーマットするために通貨の拡張精度が使用されます。
DISPLAY_ SCALING_ FACTOR オプションとして、その列内の金額に適用するスケーリング・ファクタを指定できます。このトークンを指定しないか、トークンがマイナスの場合には、位取りは実行されません。この字句パラメータの名前にはP_SCALING_FACTORを使用します。

重要: トークン値では、列名と字句パラメータの前にコロン「:」を入れます。これは、トークンの値が列または字句パラメータから取得されたことを示します。このコロンがない場合、二重引用符内にある値そのものが使用されます。たとえば、CODE=":C_CODE"は、通貨コードが列CODEから取得されることを意味し、CODE="C_CODE"は通貨コードがC_CODEであることを意味します。

混合通貨レポート

レポートの発行時に、混合通貨リージョンの各レポートで、混合通貨精度プロファイル・オプションのデフォルト設定を上書きできます。この値を受け入れるレポート引数を定義します。

値を常に明示的に設定する必要がないように、この引数のデフォルト値はプロファイル・オプションCURRENCY:MIXED_PRECISION(通貨: 混合複数通貨精度)とします。

出力の例

次の例は、レポートが米国で実行されたと仮定した場合の、ユーザー・イグジットを使用して表示される様々な入力値と通貨金額です(括弧で囲まれているのはマイナスの金額です)。

  Item  Code           Input Number  Output    Field  Notes

        ----  ----      -----------------  ---------------  -----

         01    USD              123456.76     123,456.76

         02    USD                  156.7         156.70

         03    USD                  12345      12,345.00

         04    BHD             123456.764     123,456.764

         05    JPY               12345676  12,345,676

         06    BHD              12345.768      12,345.768

         07    BHD             -12345.768     (12,345.768)

         08    BHD             123456.768     123,456.768

         09    BHD            -123456.768    (123,456.768)

         10    BHD            1234567.768   1,234,567.768

         11    BHD           -1234567.768  (1,234,567.768)

         12    BHD           12345678.768  12,345,678.768

         13    BHD          -12345678.768   (12345678.768)   [1]

         14    BHD          123456789.768  123,456,789.768   [2]

         15    BHD         -123456789.768  (123456789.768)

         16    BHD         1234567890.768  1234567890.768

         17    BHD        -1234567890.768  ***************   [3]

         18    BHD        12345678901.768  12345678901.768  [1,2]

         19    BHD       -12345678901.768  ***************   [3]

         20    BHD       123456789012.768  ***************   [3]            21    USD       123456.765     123,456.765

            22    USD      123456.7654     123,456.7654   [2]

            23    USD     123456.76543    123,456.76543   [2,4]

Code  Name               Precision

        USD   US dollars       2

        BHD   Bahraini dinars  3

        JPY   Japanese yen     0



[1] - Thousands indicators are stripped

[2] - Digit occupies space normally reserved for

                      positive or negative indicator

[3] - Value cannot fit in the field:  overflow

                condition

[4] - Radix is shifted to the left due to the precision

                of the number exceeding MINIMUM_PRECISION

入力数値の精度が通貨の精度より低い場合は、通貨の精度と一致するように数字にゼロ(0)が付加されます。

入力数値の精度が通貨の精度より高い場合は、数字の基数が列の他の通貨金額とずれて表示されます。

右側にプラスまたはマイナスの書式文字を表示するための1桁のスペースが割当済の場合で(たとえば、マイナスの数字を表示するプロファイル・オプションとして「( )」または「<>」を設定)、現在の数字がそのスペースを使用していないと(数字がプラスの数の場合)、そのスペースが使用されます。それでも足りない場合は、すべての桁が表示されるように数字が左にシフトされます。

フォーマットされた数字がDISPLAY_WIDTHに入りきらないときは、DISPLAY_WIDTH内に収めるためにユーザー・イグジットによって3桁区切りが取り去られます。この場合も、金額の表示は整列しない可能性があります。それでも数字が範囲内に収まりきらないと、フィールドにアスタリスクが出力され、値が長すぎることが示されます。

デフォルトでは、通貨の値は表示の際に四捨五入も切捨てもされません。ただし、DISPLAY_SCALING_FACTORトークンで明示的に指定した場合は、その値を数値で位取りを実行できます。

トークンMINIMUM_PRECISION=":P_MIN_PRECISION"(ここでは字句引数は3として指定)およびDISPLAY_WIDTH="15"はすべての項目に適用されます。

項目1から5では、MINIMUM_PRECISIONが3の混合通貨リージョンで、様々な通貨金額がどのように表示されるかがわかります。すべての値が基数文字で整列しています。

項目6から20では、桁数が漸次増えるにつれ、プラスおよびマイナスの値がどのように表示されるかがわかります(DISPLAY_WIDTHは定数15)。フォーマットされた値がDISPLAY_WIDTHを超えると、項目13、15、16および18のように、3桁区切りが除去されます。未フォーマットの値がDISPLAY_WIDTHを超えると、項目17、19および20のように、アスタリスクが表示されて、長さが超過していることが示されます。また、プラスの値では、通常はマイナスの記号インディケータのために留保してある右のスペースまで位置がシフトしていることに注目してください。

項目21から23では、MINIMUM_PRECISIONを超えた値の表示例が示されています。マイナスのインディケータが右のスペースを使用するので、プラスの値はMINIMUM_ PRECISION+1を超えてから、左にシフトします。

FND FORMAT_CURRENCYを使用したサンプル・レポート

次のレポートには、混合通貨の値が表示されるレポートで、FND FORMAT_CURRENCYユーザー・イグジットが異なる通貨の金額書式をそれぞれどのようにフォーマットするかが示されています。この項では、このようなレポートの作成方法を説明します。

基数文字および3桁区切りについての情報は、ユーザーの所在地によって決まります。通貨の値のマイナスおよびプラスの表示については、2つのプロファイル・オプションによって決定されます。つまり、レポートは、ユーザーの所在地およびプロファイル・オプションの値セットに基づいて、それぞれ異なる表示となります。

次のレポートのうち1つはアメリカ国内のユーザーが、もう1つはドイツ国内のユーザーが実行したもので、それぞれ異なる表示となっています。ドイツのレポートとアメリカのレポートでは、基数文字と3桁区切りが入れ替わっています。マイナスの表示については、例ではマナマとシアトルが赤字となってますが、アメリカのレポートではユーザーの作業環境に応じて括弧( )または角括弧<>で表されていたものが、ドイツのレポートではマイナスの数字で表示されています。

レポート出力の例

レポート1(アメリカ国内で実行)

設定:

レポート2(ドイツ国内で実行)

設定:

サンプル・レポートのプロシージャ

  1. 最初に、Oracle Reportsパラメータ画面ですべてのパラメータを定義します。これらのパラメータをユーザー・イグジット・コールおよびSQL文で使用します。

    Name:                P_CONC_REQUEST_ID
    
    Data Data Type: NUMBER
    
    Width:                   15
    
    Initial Value:  0
    
    

    この字句パラメータは常に作成します。「FND SRWINIT」は、このコンカレント要求についての情報を取得するためにこのパラメータを使用します。

    Name:                 P_MIN_PRECISION
    
    Data Type:        NUMBER
    
    Width:                 2
    
    Initial Value:
    
    

    FND FORMAT_CURRENCYユーザー・イグジット・コールでこの字句パラメータを参照します。

  2. FND SRWINITをコールします。

    FND SRWINITは、次のように、常にレポート・トリガーの前にコールします。

    SRW.USER_EXIT('FND SRWINIT');
    
    

    このユーザー・イグジットはプロファイル・オプションおよびその他のAOL機能で使用する情報を設定します。

    FND SRWEXITは、次のように、常にレポート・トリガーの後にコールします。

    SRW.USER_EXIT('FND SRWEXIT');
    
    

    このユーザー・イグジットによって、その他のAOLイグジットに割り当てられているメモリーがすべて解放されます。

  3. 通貨コード問合せを作成します。

    表から通貨コードと通貨金額を選択する問合せを作成します。この例では次のようにします。

     SELECT OFFICE,
    
                           SUM(AMOUNT)   C_INCOME,
    
                           CURRENCY_CODE C_CURRENCY
    
                    FROM OFFICE_INCOME
    
                    WHERE TRANSACTION_DATE = '01/92'
    
                    ORDER BY BY OFFICE
    
    
  4. 通貨コールのための列を作成します。

    ユーザー・イグジット(FND FORMAT_CURRENCY)コールを含む列(C_NET_INCOME)を作成します。これは、数字の書式をフォーマットして表示する計算式列です。ユーザー・イグジット・コールは次のようになります。

    SRW.REFERENCE(:C_CURRENCY);
    
    SRW.REFERENCE(:C_INCOME);
    
    SRW.USER_EXIT('FND FORMAT_CURRENCY
    
                    CODE=":C_CURRENCY"
    
                    DISPLAY_WIDTH="15"
    
                    AMOUNT=":C_INCOME"
    
                    DISPLAY=":C_NET_INCOME"
    
                    MINIMUM_PRECISION=":P_MIN_PRECISION"');
    
    RETURN(:C_NET_INCOME);
    
    

    ヒント: ユーザー・イグジットのデータ取得のためのソースとして使用されるソースの列/パラメータを常に参照するようにします。これにより、確実にこの列/パラメータの値が最新の値となり、前述のようにSRW.REFERENCEコールによって達成されるようになります。

    ここで、通貨コードを含む列名はC_CURRENCYであり、フォーマットされた金額のフィールドの幅は15です。さらに、ソース列はC_INCOMEであり、フォーマット済の結果出力はC_NET_INCOMEに配置されます。このレポートに使用されるすべての通貨についての最小精度は字句P_MIN_PRECISIONから取得されます。これは、この例では3に設定されています。ユーザー・イグジット・コールの最後で、RETURN(:C_NET_INCOME)によってC_NET_INCOMEを必ず参照してください。これをしないと、列内の情報が最新のものでない可能性があります。

    単一通貨レポートの場合は、MINIMUM_PRECISIONトークンは含めません。

  5. 金額を非表示にします。

    デフォルトのレイアウトでは、レポートに表示されないように金額列(C_INCOME)は選択されていない状態となっています。この列にはフォーマットされていないデータベース列値が格納されているため、この金額は表示しないでください。レイアウト・ペインタで、表示されている各通貨フィールド(この例ではC_CURRENCYとC_NET_INCOME)の定型挿入文テキストを更新します。

    重要: 表示されている各通貨フィールドごとに、手順4と手順5を繰り返します。

  6. タイトルを作成します。

    レイアウト・ペインタで、前のフィールドや定型挿入文テキストを必要に応じて移動させて、次のように定型挿入文テキストをペイントします。

     Net Income for January 1992
    
                   ---------------------------
    
    
  7. Oracle Application Object Libraryでレポートを定義します。

    標準要求発行でレポートを定義します。引数P_MIN_PRECISIONは必ず定義するようにします。この引数のデフォルトは$PROFILE$.MIXED_PRECISIONです。

    これでレポートの実行準備が整いました。

要約

レポート仕様の簡単な要約を次に示します。

字句パラメータ:

列名:

Application Object Libraryユーザー・イグジット:

Oracle Reportsのトラブルシューティング

この項では、一般的な問題やエラー・メッセージが表示された場合のトラブルシューティングのヒントを説明します。

コンカレント要求ログ

デバックの最初の手順は、明らかなエラーについて、コンカレント要求ログを確認することです。

オペレーティング・システムからの実行

コンカレント要求ログで問題の原因が特定できなかった場合は、レポートをオペレーティング・システムから実行します。レポートの実行には、Oracle ApplicationsにリンクされたOracle Reports実行ファイルを使用します。標準のOracle Reports引数とともに、コンカレント・マネージャから渡される引数を使用してレポートを実行します。コンカレント・マネージャから渡される引数は、コンカレント要求ログの最初に「引数」のタイトルで記録されています。

レポートがコマンドラインから実行できれば、問題はコンカレント・マネージャが起動された環境内にあるということです。必ず、レポートの実行を試みた同じ環境からコンカレント・マネージャを起動するようにします。

環境変数値の印刷の実行

コンカレント・マネージャでは、環境変数を起動元のシェルから継承し、その環境を使用してレポートを実行します。コンカレント・マネージャが別のユーザーによって別の環境設定ですでに起動されている可能性もあるため、この環境が、Applicationsへのログイン時にユーザーが参照するものとは異なっている場合があります。この違いのために、レポートの実行エラーの原因究明が困難で複雑になることがあります。

いくつかの変数の値を確認する場合、「環境変数値の印刷」レポートを実行して、コンカレント・マネージャが参照しているとおりの変数を出力し、変数が正しいかどうかを確認できます。起こりがちな問題としては、REPORTS_PATHが正しくないために、コンパイルで問題が発生したり、コンカレント・マネージャでライブラリを検出できないなどがあります。

よくある質問

コンカレント・マネージャからのみレポートの実行に失敗する

これは、コンカレント・マネージャがレポートを起動する環境が、コマンドラインからレポートを実行する場合に使用される環境とは異なるためです。

レポートに異なるデータが表示される

スタンドアローンのレポートとして実行したときと、コンカレント・マネージャから実行したときで、レポートに表示されるデータが異なる場合は、異なる状況の別のデータを取得している可能性があります。通常、これは、コンカレント・マネージャからレポートに、別のプロファイル・オプション(またはプロファイル・オプションがない)やその他の値が渡されていることから生じます。これは、レポートが複数の組織のデータにアクセスする場合、特に起こる可能性があります。

Oracle Application Object Libraryユーザー・イグジットがリンクされていない開発環境(Microsoft Windowsなど)からレポートをテストするためにSRWINITおよびSRWEXITへのコールをコメントにして無効化している場合は、コンカレント・マネージャからレポートの実行を試みる前にこれらのコールを再有効化したかどうか確認してください。

レポートを実行するとエラーREP-0713が発生する

Oracle Reportsではuiprint.txtと呼ばれるテキスト・ファイルを使用してプリンタ名を保持しています。使用しているプリンタ名がこのファイル内にない場合、REP-0713エラーが発生する可能性があります。

ビットマップ・レポートを横長に印刷できない

横長などの印刷スタイルは、プリンタ・ドライバに関連付けられており、このドライバからプリンタにテキスト・ファイルの印刷方法についての指示が送られます。ただし、ビットマップ・レポートはテキスト・ファイルではありません。

ビットマップ・レポートはPostScriptファイルとして出力されます。PostScriptファイルはプリンタに対し印刷内容および印刷方法を指示する一連の指示セットです。レポートを横長に印刷するには、PostScriptファイルを横長で生成する必要があります。

ビットマップ・レポートを横長に印刷する場合は、これをReportsのデザイナで指定するか、コンカレント・プログラムの実行オプションで指定します。

ビットマップ・レポートの印刷時にも、使用するプリンタ・ドライバを特定するために印刷スタイルが必要です。混乱を避けるために、「コンカレント・プログラムの定義」フォームで、ビットマップ・レポート用に特別な印刷スタイルを作成し、これをすべてのビットマップ・レポートで必要とされるスタイルに指定します。

レポートの印刷時に、無意味なページが多数印刷される

それはPostScriptコードです。使用しているプリンタ・ドライバが原因で、プリンタがファイルをPostScriptとして認識しません。ドライバを確認してください。初期化コマンドによってはこの問題を引き起こす可能性のあるものもあります。また、プログラムenscriptは印刷のために使用しないでください。

「REP-0065: 仮想メモリー・システム・エラーが発生しました」エラーの意味

残念ながら、このエラー・メッセージはエラーの特定にあまり参考になるものではありません。これは、様々な理由により発生する可能性のあるものです。問題を特定するために、次の事柄を実行してみてください。