ヘッダーをスキップ

Oracle® Real User Experience Insightユーザーズ・ガイド 12c リリース3 (12.1.0.4) for Linux x86-64 E49732-01 |
| 目次 | 索引

前 | 次 |

# N Oracle FormsおよびOracle E-Business Suiteのサポート

この付録では、Oracle E-Business Suite(EBS)およびOracle Formsベースのアプリケーションの正確な監視のために提供されるサポートについて詳しく説明します。詳細は、オラクル社の担当者に問い合せてください。

## N.1 概要

RUEIで提供される監視のサポートはEBS R12に対して検証されています。ただし、古いバージョンのForms(11.2より前のリリース)については、"正しくない"フォーム名が使用されます。

デフォルトでは、レポートされるForms名は、構成スクリプトでアップロードされたマッピングに基づいて、Formsウィンドウ・タイルから導出されます。ただし、環境変数FORMS_RUEI_SEND_FORM_NAMEが設定されている場合、Formsサーバーは、ウィンドウ作成メッセージとともにFormsモジュール名を送信します。

環境情報は`default.env`ファイルに設定されます。別のファイル名を使用できますが、これを`formsweb.cfg`ファイルに指定する必要があります。これには、次のような利点があります。

- 同じウィンドウ・タイトルのトラフィック内の複数のForms名を区別できます。

- Formsを追加作成した場合でも、構成スクリプトを再実行する必要がありません。

Oracle Forms環境を拡張してテクニカルなフォーム名が送信されるようにするには、次の表内の該当するパッチを適用します。

表N-1 Formsのパッチおよび変数

E-Businessのバージョン | Formsのバージョン | FormsのパッチおよびRUEI対応 | 使用するForms変数
--- | --- | --- | ---
11i | 6.0.8 | パッチ16542522 | FORMS60_RUEI_SEND_FORM_NAME
12 | 10.1.2.3 | パッチ16784403 | FORMS_RUEI_SEND_FORM_NAME
12 | 11.1.2 | デフォルトの機能 | FORMS_RUEI_SEND_FORM_NAME

Oracle Formsのサポート

Oracle Formsは、サーブレットとソケットという2つのモードで構成できます。サーブレット・モードでは、Javaサーブレット(Forms Listenerサーブレット)がForms JavaクライアントとOracleAS Formsサービスの通信を管理します。ソケット・モードではデスクトップ・クライアントがFormsサーバーに直接アクセスします。RUEIではサーブレット・モードとソケット・モードの両方がサポートされます。サーブレット・モードおよびソケット・モードでのOracle Formsの操作と構成の詳細は、次のサイトを参照してください。

    http://metalink.oracle.com/metalink/plsql/ml2_documents.showNOT?p_id=384241.1

Oracle Formsが構成されているモードを確認する方法は、N.8項「ソケット・モードとサーブレット・モードのチェック」を参照してください。

Formsのみのユーザー

このマニュアルで提供する情報はすべてのEBSユーザーに関連するものです。ただし、情報がEBSユーザーまたはFormsのみのユーザーに固有の場合は明記しています。

## N.2 Formsのみの環境の使用

Formsのみの環境を使用するユーザーは、この項で説明する点に特に注意する必要があります。

RUEIでEBSベース・アプリケーションについての正確なレポートを行うには、本番環境の情報が必要です。特に、機能領域とレポートされる名前をマッピングする必要があります。これは、N.7項「RUEIとEBS本番環境の同期化」で説明するように`create_EBS_info.pl` Perlスクリプトを実行して行います。このスクリプトを実行して、生成される.`txt`ファイルを.`zip`ファイルに含めてアップロードすることを、Formsのみの環境のユーザーにお薦めします。

機能マッピングの手動作成

`create_EBS_info.pl`スクリプトは、いくつものEBSデータベース表を使用して、Oracle Formsインスタンスのインストールと構成に関する情報を取得します。使用される正確なデータベース表をN.10項「データベース表」に示します。

ただし、このスクリプトで使用されるAPPLSYS.FND_APPLICATION、APPLSYS.FND_APPLICATION_TL、APPLSYS.FND_FORM、APPLSYS.FND_FORM_TLおよび他の表は、Formsのみの環境には存在しません。このため、RUEIで提供されるデフォルト(テンプレート)のマッピング(この項で後から説明)を利用するか、対応する.`txt`ファイルを手動で作成することで必要なマッピングを指定できます。

これらのファイルを手動で作成するときは、次のタブ区切りファイルが必要です。

- `EBS_formname2details.txt`: 各フォームの機能の説明を指定します。このファイルの各行は次のような形式です。

      formname{TAB}form_description

  次に例を示します。

      ADSAPCRD        Credit Card Expense Transaction Entry
      ADSAPPRC        Procurement Card Transaction Entry
      ADSCONC         Running Jobs
      ADSCONC         Tax Locations
      ADSCSCRC        Healthcare CC
      ADSMAILI        Mail InformationADSRSETUP       ADS Repurpose Setup
      ADSSOE          Custom Order EntryADSSOE          View Person Life Event Information
      AKDAPREG        Application Module Parameters Registry

- `EBS_formname2appshort.txt`: 各フォームが含まれているアプリケーション名の短縮形(3文字)を指定します。このファイルの各行は次のような形式です。

      formname{TAB}short_application_name

  次に例を示します。

      ADSAPCRD        ads
      ADSAPPRC        ads
      ADSCONC         ads
      ADSCSCRC        ads
      ADSMAILI        ads
      ADSRSETUP       ads
      ADSSOE          ads
      AKDAPREG        ak
      AKDATTRS        ak
      AKDFLOWB        ak

- `EBS_appsort2appname.txt`: 短縮形(3文字)のアプリケーション名と完全なアプリケーション名のマッピングを指定します。このファイルは次のような形式です。

      short_application_name{TAB}application_name

  次に例を示します。

      abm     Activity Based Management (Obsolete)
      ad      Applications DBA
      ads     Applications Demonstration Services
      ads_dev ADS Development
      ahl     Complex Maintenance Repair and Overhaul
      ahm     Hosting Manager(Obsolete)
      ak      Common Modules-AK
      alr     Alert
      ame     Approvals Management
      amf     Fulfillment Services (Obsolete)

作成した構成ファイルは、目的のスイートごとに.`zip`ファイルに含めてアップロードする必要があることに注意してください。.zipファイルには、空でない.`txt`ファイルしか含めることができません。また、これらのファイルはすべてルート・ディレクトリに存在する必要があります。つまり、サブディレクトリは許可されていません。実際の本番環境に基づいた適切な構成ファイルを目的のスイート用にアップロードする必要があります。構成ファイルの更新の手順は、N.7項「RUEIとEBS本番環境の同期化」に記載しています。

デフォルト(テンプレート)マッピングの利用

必要なマッピングの手動作成が現実的ではない場合は、すでにRUEIに構成されているデフォルト(テンプレート)マッピングを利用できます。この方法で適切なレベルのレポートを得られますが、次の制限事項があります。

- `form_name`: 通常、これは、機能の説明に変換される8文字のテクニカル名です。ただし、説明がない場合は、8文字のテクニカル名がかわりにレポートされます。

- `app`: 通常、これは、フォーム名とアプリケーションを関連付けるマッピング・ファイルから導出されます。ただし、導出されない場合は、フォーム名の先頭3文字がかわりにレポートされます。

- `application_name`: 通常、これはマッピング・ファイルから導出されます。ただし、導出されない場合は、かわりに`app`がレポートされます。

最新の一致情報

一般的にFormsのみの環境は時間とともに変化するため、マッピング情報を定期的に確認することを強くお薦めします。上記の制限は、最後に`create_EBS_info.pl`スクリプトを実行してから、またはマッピング・ファイルを手動で作成してから環境に追加されたすべてのフォームに適用されることに注意してください。

Formsベース環境のメモリー要件

Formsベース・トラフィックの監視には、大容量のメモリーが必要になることに注意してください。たとえば、10,000件の同時Formsセッションの監視には、約10GBのコレクタ・メモリーが必要になります。このため、Formsベース・トラフィックをリモート・コレクタとして監視するコレクタには、少なくとも16GBのRAMをデプロイすることをお薦めします。または、単一サーバー・デプロイメントを使用している場合、サーバーには少なくとも32GBのRAMが必要です。

さらに、コレクタで使用できるシステム・メモリーのレベルを確認することをお薦めします。24GBのRAMを備えた単一サーバー・デプロイメントでは50%に設定する必要があります。32GBのRAMでは40%に設定する必要があります。使用できるコレクタのメモリー量を増やす方法の詳細は、次の場所を参照してください。

    https://support.oracle.com/CSP/ui/flash.html#tab=KBHome%28page=KBHome&id=%28%29%29,%28page=KBNavigator&id=%28from=BOOKMARK&bmDocType=PROBLEM&bmDocTitle=Remote%20Collector%20not%20able%20to%20run%20due%20to%20memory%20restrictions&bmDocDsrc=KB&bmDocID=762361.1&viewingMode=1143%29%29

## N.3 監視の有効範囲の検証

多くの場合、EBSソフトウェアは標準以外のポート(8000など)を使用するように構成されます。EBSインストールが実行しているポートを確認するには、ログインURLを調べてください。これは次の形式になっています。

    https(s)://hostname:portnumber/OA_HTML/AppsLogin

`portnumber`が定義済ポート(後で説明)の1つとして構成されていることを確認します。また、HTTPSポートが指定される場合は、WebサーバーのSSL秘密鍵のコピーをコレクタ・システムにインポートするようにしてください。モードとポート番号の識別方法の詳細は、N.8項「ソケット・モードとサーブレット・モードのチェック」を参照してください。ポート番号を確認するには、13.3項「監視の有効範囲の管理」に記載されている手順を実行します。

## N.4 EBSスイート定義の作成

EBSベースのアプリケーションのスイート定義を作成できます。作成方法は、サポートされている他のOracle Enterpriseアーキテクチャの場合と同じです。スイートを作成する手順は、10.1項「スイートの使用」に記載されています。

Formsを使用するEBSスイートの場合は、「拡張」セクションを選択し、その他タブをクリックすることに注意します。スイートの概要が、図N-1に示されるように変わります。

図N-1 拡張スイート構成セクション

「図N-1 拡張スイート構成セクション」の説明

これらの設定の使用方法は次の項に記載されています。

## N.5 追跡テクノロジの指定

RUEIではセッション情報はCookieに基づいています。Cookieは、ヒットを特定のアクセスに結び付けるために使用されます。一般的にCookieはユーザー・ログイン・ページにも結び付けられるため、RUEIは同じCookieを持つ後続のすべてのヒットにユーザー名を含めることができます。EBSにはいくつものCookieがあります。ただし、これらは通常は使用できません。主な問題点は、一意性が不十分であること(たとえば`oracle.uix`)および用途が狭すぎることです(たとえば、JSESSIONIDはWebサイトの`/OA_HTML/`部分にしか使用できません)。

クライアント側のCookieメカニズムを実装することをお薦めします。この手順は、12.2項「セッション・トラッキング・メカニズムの指定」に記載されています。

注意: Formsのみの環境では、ビジターがForms内のアプリケーションにログオンすると、Formsログオン・ページのユーザーIDが自動的に追跡されます。

### N.5.1 カスタムCookieの構成

ドメイン全体に対応する一意のCookieを構成できない場合は、次の手順を実行する必要があります。

1. EBSサーバーで`$OA_HTML/AppsLocalLogin.jsp`ファイルを探します。これは通常は`$JAVA_TOP`ディレクトリにあります。

2. 次のJavaScriptコードをページに追加します。

       <SCRIPT LANGUAGE="JavaScript">if(document.cookie.indexOf('RUEItrack=')==-1){document.cookie='RUEItrack='+parseInt(Math.random()*2147418112)+new Date().getTime()+';path=/;domain='+document.location.host.substring(document.location.host.lastIndexOf('.', document.location.host.lastIndexOf('.') - 1));}</SCRIPT>

3. EBSログイン・ページを開き、ヘッダーの調査分析ツール(Mozilla Firefox用のLive HTTP Headersプラグインなど)を使用して`RUEItrack`値がクライアント側に設定されていることを確認します。

重要:

また、既存の`RUEItrack` Cookieを分析するとき、そのCookieがすべてのオブジェクトのヒットとリクエスト(.`gif`ファイルや.`js`ファイルなど)のためにクライアント側に存在することを確認します。あるいは、上記のJavaScriptコードを`t.htm`ファイルまたは`AppsLocalLogin.jsp`ファイルに追加して、パッチ・プルーフにすることができます。つまり、EBSのパッチまたはリリースを後でインストールしても上書きされないようになります。このJavaScriptを両方のファイルには追加しないでください。

### N.5.2 Cookie構成の確認

Cookieの構成を確認する手順は、次のとおりです。

1. ブラウザですべてのCookieを消去します。

2. EBSアプリケーションに(再)ログインします。

3. Oracle Formsをロードする操作を実行します。

4. Oracle Formsでいくつかの操作を実行します。

5. ログアウトします。

6. 少なくとも10分間待機します。

7. RUEIレポータ環境を開きます。

8. 「データの参照」を選択し、「すべてのセッション」グループを開いて「セッション診断」を選択します。記録されたセッション(ユーザーID別または時間別)を探します。アプリケーションについてフィルタリングできます。

9. セッションを開いて、次の点を確認します。

   - ログイン以外にページ・ビューがあること。これで、セッションIDがログイン後にOAフレームワークに保存されていることが確認されます。

   - 少なくともある程度のOracle Formsアクティビティが未定義アクションとして記録されていること。これで、サーブレット・コールが正しく記録されていることが確認されます。

   - データ・ブラウザでレポートされるページ名に、図N-2でのハイライト表示部分のようなイベントが示されること。

     図N-2 ページ名の例

     「図N-2 ページ名の例」の説明

すべてのヒットが同じCookieに関連していない場合、問題がある場所を調べて(たとえば、Cookieのドメインまたはパス・オプション)、適切な方法で解決することをお薦めします。

### N.5.3 セッションの追跡、相関変数およびセッションURL引数

相関変数とセッションURL引数に関して指定する必要がある追跡メカニズムは、いくつかのフロー・チャートを使用して決定することをお薦めします。

Formsセッション・パラメータ

図N-3に示す方法でセッション・パラメータを決定できます。ソケット・モードで実行している場合、この設定は対応していません。そうでない場合は、各Formsセッションに一意の値を提供する引数をForms URLで調べる必要があります。通常、この引数はURLでセミコロンまたは疑問符の後にあります。たとえば、`jsessionid`または`JServSessionIdforms`です。指定したパラメータがURLで見つからない場合、Cookieが検索されます。

図N-3 Formsセッション・パラメータ

「図N-3 Formsセッション・パラメータ」の説明

相関変数

相関変数を使用すると、セッション(TCP上のソケット・モード)を1つのエンドユーザー・セッションにマージできます。図N-4に示す方法で相関変数を決定できます。

図N-4 相関変数

「図N-4 相関変数」の説明

一意のクライアントIPアドレスが使用される場合、この設定は対応していません。ソケット・モードで実行している場合、HTTPトラフィックとソケットモード・トラフィックの両方で得られる相関変数(「INDEX_INITIAL_CMDLINE」に含まれる)の値がセッションの注釈として付けられます。EBS環境の場合、これは常に`icx_ticket`変数を含みます。EBS以外の環境の場合、他の変数を指定する必要があります。HTTPレイヤーにおいて、Formsの初期化コールの問合せ部分で、または`gp1``=....&``gv1``=...`のような構文で、この変数が見つかります。ここで、`gp1`に値の名前を示します。

HTTPレイヤーにおいて、次のように確認できる場合があります。

    /OA_HTML/frmservlet?…&gp15=icx_ticket&gv15=255. 184.210.99jE82BtqiYLHJ8T6-bLxTLw…

または、次のように確認できます。

    /OA_HTML/frmservlet?…&env=NLS_LANG='AMERICAN_AMERICA'+…+icx_ticket='255.184.210.99.jE82BtqiYLHJ8T6-bLxTLw..'+…

Formsレイヤーでは、変数INDEX_INITIAL_CMDLINEがコレクタのログ・ファイルで確認できることに注意してください。次に例を示します。

    &Runform-001.INDEX_INITIAL_CMDLINE=server module=/oracle/r12/VIS12/apps/apps_st/appl/fnd/12.0.0/forms/US/FNDSCSGN fndnam=APPS  config='VIS12'  icx_ticket='255.184.210.99.jE82BtqiYLHJ8T6-bLxTLw..' resp='FND/APPLICATION_DEVELOPER' secgrp='STANDARD' start_func='FND_FNDPOMPO' other_params=…

セッション・トラッキングCookie

図N-5に示す方法でセッション・トラッキングCookieを決定できます。

図N-5 セッション・トラッキングCookie

「図N-5 セッション・トラッキングCookie」の説明

一意のクライアントIPアドレスが識別される場合は、デフォルトのクライアントIPベースの追跡を使用できます。または、ホスト全体に対して一意の値を持つCookieが使用可能な場合は、JavaScriptを使用してこのCookieを作成できます。その他の場合は、デフォルトのEBS(JSESSIONID)追跡スキームを使用する必要があります。

たとえば、セッションCookieを追加するためにログイン・ページを変更できない場合があるとします。その場合は、Forms以外のトラフィックの別のEBS Cookie(たとえばJSESSIONID)を選択できます。相関関数を使用して、Forms以外のトラフィックをFormsベースのトラフィックに結び付けることができます。このとき、Forms以外のヒットはJSESSIONIDを使用して識別され、共有ヒットはJSESSIONIDと相関引数の組合せで識別され、Formsヒットはセッション・トラッキング変数`jsessionid`と最初のコマンド行の相関引数の組合せで識別されます。

## N.6 Formsサーバー・モードのタイムアウトの指定

Formsソケット・モードでは、アクティブなソケットモード・セッションが非アクティブになってから数分間は、コレクタがセッションを廃棄できないように設定できます。この設定はFormsソケット・モードのみに対応することに注意してください。デフォルトでは10分に設定されています。

## N.7 RUEIとEBS本番環境の同期化

ご使用の環境でEBSフレームワークがどのように実装されているかをRUEIで認識するための手順は、次のとおりです。

注意: この項の内容は、Forms名のレポート機能が有効になっている環境には該当しません。詳細は、N.13項「Forms名のレポート」を参照してください。以前のリリースへのバックポートが済んでいるため、将来的にはすべてのEBS/Formsユーザーがforms名のレポート機能を有効にすると考えられます。

1. `create_EBS_info.pl`スクリプトをEBSサーバーのホーム・ディレクトリにコピーします。これはRUEIシステムの`RUEI_DATA``/processor/local/download`ディレクトリにあります。

   スクリプトの前提条件を次に示します。

   - Perl 5.8.1以上がインストールされていること。

   - PerlモジュールArchive::Zip (手作業によるzip操作を軽減)。

   formsのデプロイメントの前提条件を次に示します。

   - formsコンパイラ(f60genやfrmcmpなど) (パス内)。

   - fmbファイルへのアクセス(-dirパラメータで場所を指定)。

   EBSのデプロイメントの前提条件を次に示します。

   - sqlplus(パス内)。

   - EBSリポジトリ(読取専用)にアクセスするための接続文字列。

   - JTT環境(EBS内)については、jttファイルへのアクセス(-dirパラメータで場所を指定)が必要です。

2. `create_EBS_info.pl`スクリプトをEBSサーバーで任意のユーザーとして実行します脚注1。このスクリプトにより、環境内で識別されたページIDにIDが割り当てられます。`create_EBS_info.pl`スクリプトは次の構文で実行してください。

       create_EBS_info.pl -part=all|DB|JTT|FORM [-connectstring=connectstring] [-debug] [-exeloc=exedir] [-dir=dir1,dir2]

   構造の各要素の意味は、次のとおりです。

   - `part`オプションには、生成されるファイルのサブセットを指定します。次のように指定できます。

     - `all`: すべてのファイルが生成されます。これはデフォルトです。以下の3つのオプションを組み合せたものです。

     - `DB`: このオプションは主としてEBS環境用です。構成ファイルのサブセットが生成されます。このオプション(または`all`オプション)を使用する場合は、-`connectstring`パラメータを指定する必要があります。また、`-exeloc`パラメータも指定する必要があります。これには、SQLPlus実行可能ファイルの場所を指定してください(PATHのいずれかのディレクトリにない場合)。

     - `JTT`: このオプションは主としてEBS環境用です。すべてのJavaベース・ファイルが生成されます。Javaファイルの場所はAPPL_TOP設定に基づきます。設定がない場合、`-dir`パラメータで指定されるディレクトリが使用されます。

     - `FORM`: このオプションは主としてFormsベース環境用です。すべてのFormsベース・ファイルが生成されます。このオプション(または`all`オプション)を指定する場合は、`-exeloc`パラメータを指定する必要があります。これには、`frmcmp`または`frmcmp_batch`実行可能ファイルの場所を指定してください(PATHのいずれかのディレクトリにない場合)。Forms(.`fmb`)ファイルの場所はAPPL_TOP設定に基づきます。設定がない場合、`-dir`パラメータで指定されるディレクトリが使用されます。

   - `connectstring`には、データベースにアクセスできるようにSQLPlusに渡す文字列を指定します。これは、Formsのみの環境では必要ありません。

   - `debug`は、デバッグ・モードを有効にする必要があることを示します。

   - `execloc`は、実行可能ファイルがPATHのディレクトリのいずれかに存在しないこと、`exedir`ディレクトリを検索する必要があることを示します。複数のディレクトリを指定するには、カンマで区切るか`-exeloc`オプションを複数指定する必要があることに注意してください。

   - `dir1`、`dir2`などには、JavaまたはForms関連の情報を検索するディレクトリを指定します。複数のディレクトリを指定するには、カンマで区切るか`-dir`オプションを複数指定する必要があることに注意してください。

   スクリプトはAPPLSYSスキーマを読み取り、現在のディレクトリに.`txt`ファイルを生成します。次に例を示します。

       perl create_EBS_info.pl -part=all -connectstring=APPS/APPS@linux-ebs-r12-pc:1522/VIS12
       perl create_EBS_info.pl -part=all -connectstring=APPS/APPS@VIS12

   複数インスタンス環境では、目的のインスタンスごとにスクリプトを実行し、作成される.`txt`ファイルを別に保存します。また、インスタンスごとに別のスイート定義を作成します。

   注意: EBSアプリケーションに新たなカスタマイズを行う(または既存のカスタマイズを変更する)場合は、スクリプトを再実行して、生成されるzipファイルを再インポートする必要があります。

3. スクリプトを実行すると、実行したディレクトリにいくつかの.`txt`ファイルが作成されます。関連するすべての.`txt`ファイルは、.`zip`ファイルにまとめて格納されます。RUEIレポータ・システムへのファイルのアップロードに使用できる場所に、この.`zip`ファイルをコピーします。

4. 10.1.2項「構成ファイルのアップロード」で説明している手順を実行し、生成されたファイルをレポータ・システムにアップロードします。

注意: `create_EBS_info.pl`スクリプトの実行中に警告またはエラー・メッセージを受け取った場合は、N.20.4項「create_EBS_info.plスクリプトでFRM-91500エラーがレポートされる」にある重要なトラブルシューティング情報を参照してください。

Perlインタプリタ

デフォルトではPerlインタプリタはMicrosoft Windowsには同梱されていません。多くの場合、Oracleデータベースおよび他のOracle製品の一部としてインストールされます。PerlインタプリタをMicrosoft Windowsシステムで探すには、「スタート」→「検索」→「ファイルやフォルダ」を選択して、`perl.exe`を入力します。見つかった実行可能ファイルを使用して、構成スクリプトを実行します。

Perl実行可能ファイルがない場合は、RUEIシステムで上記の問合せの`DB`の部分を実行できます(システムからEBSデータベースへの接続が可能な場合)。これは、リモート・ホストのEBSデータベースのAPPSスキーマを参照する`connectstring`の`-part=DB`オプションを使用して実現できます。データベースベースのEBSカスタマイズのみが生成されることに注意してください(JTT/JavaベースのカスタマイズまたはFormsベースの変更は生成されません)。

`create_EBS_info.pl`スクリプトの実行を省略した場合でも、RUEIによってEBSおよびFormsアクティビティのレポートは行われます。ただし、レポートされる名前はカスタマイズを反映しません。たとえば、職責が職責名ではなく職責キーでレポートされ、Formsがフォームの機能説明ではなくフォーム名でレポートされます。ほとんどカスタマイズが行われていない環境ではこれは問題になりません。

## N.8 ソケット・モードとサーブレット・モードのチェック

この項では、Oracle Formsサーバーがサーブレット・モードとソケット・モードのどちらで実行しているかをチェックする方法を説明します。

Oracle Applicationsリリース12

Oracle Applicationリリース12は、デフォルトの構成ではサーブレット・モードで実行します。

次のコマンドを使用します。

    $ grep connectMode FORMS_WEB_CONFIG_FILE

現在の接続モードがレポートされます。

    connectMode=servlet

または、次のコマンドを使用します。

    $ grep frmConnectMode CONTEXT_FILE

現在の接続モードがレポートされます。

    <forms_connect oa_var="s_frmConnectMode">servlet</forms_conr....

Oracle Applicationsリリース11

Oracle Applicationリリース11は、デフォルトの構成ではソケット・モードで実行します。

次のコマンドを使用します。

    $ grep connectMode FORMS60_WEB_CONFIG_FILE

現在の接続モードがレポートされます。

    connectMode=socket

次のコマンドを使用します。

    $ grep xsport FORMS60_WEB_CONFIG_FILE

目的のポート番号が必要です。

    xsport=9095

または、次のコマンドを使用します。

    $ grep socket CONTEXT_FILE

現在の接続モードがレポートされます。

    <forms_connect oa_var="s_frmConnectMode">socket</forms_conr....

HTMLソースのチェック

最後に、Oracle Formsアプリケーションの起動に使用するページのHTMLソースもチェックできます。Internet Explorerで行う場合は、「表示」→「ソース」を選択します。図N-6に示すように接続モードが含まれています。

図N-6 起動ページの詳細例

「図N-6 起動ページの詳細例」の説明

関連する接続モードの情報をハイライト表示しています。

## N.9 ホスト名およびURL接頭辞

EBSの実装およびEBSのインスタンスはホスト名で識別できます。場合によっては、URL接頭辞で識別できます。一般的に、EBSスイートにアクセスする方法は2つあります。ホスト名のみを使用する方法、または完全修飾ホスト名(ドメインを含む)を使用する方法です。通常は、URL接頭辞なしでドメインのみを指定してください。特に設定を行っていないアプリケーションはデフォルトの場所でアクセスされます。

formsのソケット・モードでは、server-ipを指定する必要があります。サーバーが複数ある場合、formsソケット・モードを正常に機能させるため、各サーバーのserver-ip/portの組合せを指定する必要があります。

## N.10 データベース表

次のEBSデータベース表は、カスタマイズに関する情報を取得するために`create_EBS_info.pl`スクリプトで使用されます。

- APPLSYS.FND_FORM_FUNCTIONS

  Function_id、application_id。

  Function_idは、`EBS_function_id2*.txt`ファイルにデータを移入するために使用されます。

- APPLSYS.FND_FORM_FUNCTIONS

  User_function_name。

- APPLSYS.JDR_PATHS

  名前およびツリー構造。

  Path_nameは、`EBS_pathname2*.txt`ファイルにデータを移入するために使用されます。

- APPLSYS.FND_APPLICATION

  アプリケーション短縮名。

  Application_nameは、`EBS_appshort2*.txt`ファイルにデータを移入するために使用されます。

- APPLSYS.FND_APPLICATION_TL

  アプリケーション名

- APPLSYS.FND_FORM

  Form_name、application_id

  Form_nameは、`EBS_formname2*.txt`ファイルにデータを移入するために使用されます。

- APPLSYS.FND_FORM_TL

  User-form-name。

- APPLSYS.FND_RESPONSIBILITY

  職責キー

- APPLSYS.FND_RESPONSIBILITY_TL

  職責の説明

- APPLSYS.JDR_ATTRIBUTES

- APPLSYS.FND_NEW_MESSAGES

  MESSAGE_NUMBER、MESSAGE_TEXTおよびTYPE列を使用して、`EBS_msgid2details.txt`ファイルに移入します。

容易に取得できるように、`select`文ではJDR_UTILSおよびJDR_MDS_INTERNALパッケージが使用されます。

## N.11 アクション、ページおよびオブジェクト

各EBSフレームワークを分析して、すべてのヒットがオブジェクト・ヒットまたは、アクション・ヒットおよびページ・ヒットとして分類されるように正しい構成を得る必要があります。フレームワーク固有の考慮事項を次に示します。

OA

OAフレームワークは、M-V-C(Model-View-Controller)モデルを使用して構築されます。コントローラは、特定のページを表示するか、そのページを構成する別の場所にビジターをリダイレクトするかを内部で決定します。コントローラは、特定のページを表示するか、またはそのページを構築する別の場所にビジターをリダイレクトするかを内部的に決定します。リダイレクトはRUEIの標準機能であり、自動的に認識されます。

URLパラメータに基づいてページ名が定義されます(リダイレクトの場合は、前のページのパラメータを含む元のURLではなく、リダイレクト先URLのURLを使用する必要があります)。コントローラの他に、このフレームワークには固定URL(`OALogout.jsp`のようなコントローラをバイパスする)も含まれます。このようなファイルはJTTベース・ファイルと一緒に認識されます。

JTT

JTTフレームワークは、M-V-C(Model-View-Controller)モデルを使用して構築されます。すべてのアプリケーションに1つのコントローラがあるのではなく、アプリケーションごとに1つ(または複数)のコントローラがある点で、OAフレームワーク定義とは異なります。つまり、関連する`.jsp`ファイルの数が多く、関連するすべての`.jsp`ファイルの調査が必要になります。.`jsp`ファイルをサーバー側で分析すると、アプリケーション定義の判別が可能です(.`jsp`ファイルの場所に基づいて)。

## N.12 関数エラー

デフォルトのRUEIインストールでは様々なタイプのエラーを認識できます。8.2.11.1項「コンテンツ・メッセージの説明の定義」を参照してください。これらはネットワーク・エラーおよびHTTPエラーです。また、事前定義済のコンテンツ・メッセージがすべての標準FRMおよびメッセージ・ディクショナリ・アイテム(つまり、接頭辞「APP_」を使用したメッセージ)に自動的に提供されます。デフォルトでは、タイプ「エラー」のメッセージのみがエラーとしてレポートされ、他のすべてのメッセージ・タイプ(「注意」や「ヒント」など)が通知としてレポートされます。Oracle Formsトラフィックの場合、個々のforms要素交換ですべての読取可能テキスト文字列から指定のコンテンツ・メッセージが検索されます。

メッセージ・ディレクトリのカスタマイズを作成した場合、`create_EBS_info.pl`スクリプトを実行してRUEIインストールにマージすることをお薦めします。

運用上の理由で、メッセージID(APP-FND-01702など)が正規化されます(つまり、先頭のゼロが無視されます)。文字列の比較を実行する場合、このことを考慮する必要があります。

Oracle Formsエラーの原因

Formsセッション中に発生するエラーは、様々なレイヤーが原因となっている可能性があります。

- ネットワーク・エラーは、すべてのアプリケーションと同じ方法でRUEIでレポートされます。

- HTTPサーバー・エラー(500、404など)は、すべてのアプリケーションと同じ方法でRUEIでレポートされます。

- Formsサーブレット・エラー(サーブレット接続エラー)は、対応する`ifError`コードと一緒にレポートされます。これは、Formsフレームワークで発生する内部通信エラーです。

## N.13 Forms名のレポート

デフォルトでは、レポートされるForms名は、構成スクリプトでアップロードされたマッピングに基づいて、Formsウィンドウ・タイルから導出されます。ただし、環境変数`FORMS_RUEI_SEND_FORM_NAME`が設定されている場合、Formsサーバーは、ウィンドウ作成メッセージとともにFormsモジュール名を送信します。デフォルトでは、環境情報が`default.env`ファイルに設定されます。別のファイル名を使用できますが、これを`formsweb.cfg`ファイルに指定する必要があります。これには、次のような利点があります。

- 同じウィンドウ・タイトルのトラフィック内の複数のForms名を区別できます。

- 追加のFormsの作成では、構成スクリプトの再実行が必要ありません(N.7項「RUEIとEBS本番環境の同期化」を参照)。

## N.14 追加メッセージのレポート

Oracle Forms 11gリリース2(以上)では、`MESSAGE`ビルトインの使用をサポートします。これにより、カスタマイズした文字列をフォームに含むことができます。これは、特にデバッグの目的に役立ちます。RUEI監視トラフィックでは、2つの定数を`MESSAGE`ビルトインの`user_response`パラメータ内で使用できます。これらは、`RUEI_BEGIN`および`RUEI_END`です。次に例を示します。

    MESSAGE('my message1', RUEI_BEGIN);
    ...
    ...
    MESSAGE('my message1' RUEI_END);

Formsサーバーが`MESSAGE`ビルトインを処理する場合、RUEIがメモに含まれる情報を通知するため、メッセージを送信します。この情報は、セッション診断機能内に表示できます(第4章「診断機能の使用」を参照)。メッセージはクライアントに表示されないので注意してください。

## N.15 OAフレームワークでのページ名の推定

OAフレームワークの詳細は、次のサイトを参照してください。

    http://www-apps.us.oracle.com:1100/fwk/fwksite/510/devguide/ess/ess_state.htm

OAベースのトラフィックは次のようにRUEIにマッピングされます。

- コントローラは、ユーザーが開始するアクションのキー・インジケータとして使用されます。コントローラに密接に関連するヒットは、そのページの構成要素と仮定されます。OAフレームワークには、`OA.jsp`と`RF.jsp`という2つのコントローラがあります。

- ページの名前は、コントローラに送られるパラメータに基づいて付けられます。function_id、_rc、akRegionCode、OAFunc、pageおよびregionというパラメータが考慮されます。(新しい)フォームまたは職責への参照を含まないページは、前のページのフォーム名または職責を保ちます。

パラメータのマッピング

マッピングが可能なのは、監視対象のデプロイメントと一致するIDが`EBS_*.txt`ファイルに含まれる場合のみであることに注意してください。正しい構成ファイルを取得するには、スクリプト(N.7項「RUEIとEBS本番環境の同期化」を参照)を使用してデプロイメント環境から正しい情報を取得します。

このスクリプトでは、関連する情報を取得するために次の2つの方法が使用されます。

- ローカルJSPファイルを分析して、すべてのJSPファイルの名前をJTT環境から取得します。これは、$APPL_TOPディレクトリで`find`文を実行して行います。

- `create_EBS_info.pl`スクリプトの一連のSQL文が、データベースからOAフレームワークの機能名を取得します。詳細設定は次の各項で説明します。

## N.16 ページ・コンテキスト

すべてのアクションがページに関連するとは限りません。このため、この項ではアクション(HTTPリクエストなど)がどのようにページ・ビューとしてレポートされるかを説明します。

ページについてのリクエストが受信されるたびに、OAフレームワークはOAPageContextを作成します。これは新しいページの処理が完了するまで存続します。特に、OAPageBean(ページ処理の中心機能)によってOAPageContextが作成されます。

RUEIでのレポートは、HTTPレベルで確認されるリクエストに基づくことに注意してください。ページが1つのリクエスト内で変化する場合、計測された時間は元のページに対してレポートされます。

### N.16.1 リクエストとページの境界

Webアプリケーションの作業ユニットは、リクエスト/レスポンスのペアです。ブラウザによってリクエストが送信され、サーブレットによってリクエストが処理され、レスポンスが戻されます。レスポンスの送信は、1つのリクエストの終了、または完了したリクエストと新規リクエストの間の境界を表します。同様に、OAPageBeanがあるページの処理を完了したとき、これは現在のページと新しいページの「境界」です。したがって、次のシナリオでユーザーがページXからページAに、次にページBにナビゲートする場合、ページXとページAの間およびページAとページBの間に2つのリクエスト境界があります。また、ページ境界も、ページXとページAの間およびページAとページBの間という概念的に同じ場所にあります。また、ページXとページA、およびページAとページBの間の概念上同じ場所に、2つのページ境界があります。これを図N-7に示します。

図N-7 同じリクエスト境界とページ境界

「図N-7 同じリクエスト境界とページ境界」の説明

異なるリクエスト境界とページ境界

ただし、状況によっては、リクエストとページの境界は同じではありません。次のJSP Forwardのケースについて考えてみます。

- 図N-7に示すようにユーザーがページXからページAにナビゲートします。

- ページAでユーザーが選択するコントロールが、レスポンスで表示するページを決める前にページAのコードを評価する必要があるというものです。このため、ブラウザはリクエストをページAに発行し、OAフレームワークがリクエストを処理します(ページのためのOAPageContextの作成など)。ページAで処理が完了すると、図N-8に示す最初のページ境界に到達します。

- ページAのコード内では、ユーザーがどのコントロールを選択したかを開発者が評価して、JSP ForwardをページBに発行します。OAフレームワークは、ページAを再表示しないためにこの時点ではHTTPレスポンスを送らず、ページBの処理を開始します(このページのための新しいOAPageContextの作成など)。ページBで処理が終了すると、2番目のページ境界に到達します。

- ここでページBをユーザーに表示する必要があるため、HTTPレスポンスがブラウザに送信されます。このときにリクエスト境界に到達します。

図N-8 異なるリクエスト境界とページ境界(JSP Forward)

「図N-8 異なるリクエスト境界とページ境界(JSP Forward)」の説明

## N.17 データ・アイテム

表N-2に示すEBS固有のデータ・アイテムがRUEIでレポートされます。

表N-2 EBS固有のデータ・アイテム

項目 | 説明
--- | ---
1ページ当たりのデータベース時間(ミリ秒) | 1ページ当たりのデータベース時間。
合計データベース時間(ミリ秒) | 合計データベース処理時間。
EBSアクション | ユーザーによって実行されたアクションの説明(これは、フレームワークに基づいて決定されます)
EBSコンポーネント | アクティブ・コンポーネントの説明(このフレームワークで決定できる場合)
EBSフォーム階層 | 測定されたアクティビティ中にOracle Formsプロトコル内でアクティブだった要素のコンポーネント階層。
EBSフォーム・メッセージ | Oracle Formsメッセージの開始/終了を示す特定のプログラムされたメッセージに関連する情報。
EBSフォーム名 | アクティビティに関連するOracle Formsの名前。
EBSフォーム名の説明 | アクティブだったOracle Forms名の説明。
EBSフレームワーク | 使用されるEBSフレームワーク。たとえば、FORMS (Oracle Forms traffic)、OA (Oracle Applicationフレームワーク)、JTT (JTTフレームワーク)、servlet (サーブレット)、other-traffic (未分類ページ設定が選択されている場合にのみ表示されます。実際のURLを表示するにはpage-URLを使用します)です。
EBS JSPファイル名 | 使用されるJSPベース・ファイルの名前。たとえば、ログインイベントまたはrunformsなどのアクションが含まれることがあります。
EBS Javaクラス | ユーザー・アクティビティに対してアクティブだったコンポーネントのクラス名。
EBSモジュール | エンド・ユーザーがナビゲートしていた場所のEBSモジュール。
EBSモジュール・コード | エンド・ユーザーがナビゲートしていた場所のEBSモジュール。
EBS職責 | アクティビティ中にアクティブだった職責。
EBS職責ID | アクティビティ中にアクティブだった職責ID。
EBSユーザー入力 | 識別できる場合、アクティビティ中にユーザーが入力したリテラル・テキスト。

## N.18 リソース

次の資料が役に立つ場合があります。

- OracleアプリケーションでSSLを使用するためのHTTPサーバーの構成(ノート341904.1)

- Oracle Forms Service 10g: SSLでのトランスポート・レイヤー・セキュリティの構成(ホワイト・ペーパー)

- Oracle Application Server Forms Services利用ガイド10gリリース2(10.1.2)、5.11 Oracle Forms ServicesおよびSSL

- JPIクライアント(Sunプラグイン)のためにSSLを有効にする方法(ノート307429.1)

## N.19 既知の制限事項

現在、RUEIはEBSのすべての機能には対応していません。特に次の制約事項がすでに判明しています。

- Formsフレームワークにはレポートを作成する機能が含まれます。この機能ではユーザーが高度な構成を行うことができます。結果として、レポートを自動的に追跡することができません。また、レポートのために関連するビジネス指向名が含まれる便利な変換用の表もありません。解決方法としては、判明しているレポートURLを変換ファイルに基づいて正しいレポート名に記述し直すことしかできません。

  この問題に関する補足情報ですが、一部のユーザーがjobs機能を使用してレポートを作成していることに注意してください。この方法は安全ではありません。前後の番号を簡単に推測できるため、権限を持たないユーザーがレポートを表示できる可能性があるためです。名前(数字のみ)がランダムであるため、このようなタイプのレポートの使用時にレポートに関するレポートを生成しても役に立ちません。

  ここで説明した問題のために、Formsのレポートは監視されません。

- レポートは、最後にアクティブになった部分に基づいて行われます。したがって、1人のエンドユーザーが複数のブラウザ・ウィンドウで同時に参照しているとき、レポートされるページ名には正しくない情報が含まれることがあります。

- 現在、OAおよびJTTフレームワークに基づくアプリケーションしかサポートされません。このため、Oracle Applications Manager(OAM)やOracle Portalのようなパッケージは現時点ではサポートされていません。

- リッチ・インターネット・アプリケーション(RIA)・フレームワーク(Ajaxなど)を使用するアプリケーションは、再生機能が低下する場合があります。これは、Oracle Formsベース・アプリケーションの場合に特に見られます。

## N.20 トラブルシューティング

この項では、EBSアプリケーションを監視するときに特によく発生する問題について説明します。カスタマ・サポートに問い合せる前に、この項の内容を確認してください。

### N.20.1 ネットワーク・トラフィックが測定されていないように見える

予期されるネットワーク・トラフィックがレポートされないように見える場合は、次の点を確認することをお薦めします。

- RUEIが、OA、JTT、PLS、Oracle Formsおよびサーブレット・フレームワークに基づくEBSアプリケーションを監視できること。一般的に、スイートはインストールごとに異なる特定のポートで実行するように構成されます。これもRUEIに指定する必要があります。「構成」→「セキュリティ」→「プロトコル」を選択します。定義されたポート設定を確認し、EBSアプリケーションの要件を満たすようにします。

- RUEIシステムでデータの受信が開始しても、自動的にレポートされないこと。最小でも1つのアプリケーションを定義する必要があります。このアプリケーションは、少なくとも関連するドメイン名と、そのドメイン内の一意のページIDスキームを含む必要があります。

- 監視対象のトラフィックにVLANカプセル化トラフィックが含まれる場合は、そのトラフィックがRUEIで構成されていることを確認します。「システム」→「構成」→「セキュリティ」→「ネットワーク・フィルタ」→「VLANトラフィック」を順に選択して、定義済の設定を確認します。この機能の使用方法の詳細は、13.4.2項「VLANフィルタの定義」に記載されています。

- EBSには、追加設定せずにセッション・トラッキングのために使用可能なCookieはないことに注意してください。したがって、Cookieはログイン・ページで作成される必要があります。このCookieがアプリケーション全体に対応します。デフォルトでは、`Jession` Cookieはアプリケーション・リンクのみに対応し、イメージ、CGIおよびライブラリには対応しません。`oracle.uix` Cookieはすべてのヒットに対応しますが、ビジターごとに一意ではありません。

- トラフィック・サマリー機能(「システム」→「ステータス」→「データ処理」の順に選択)はアプリケーション・ロジックに基づいているため、トラフィックの概要にはアプリケーション以外(スイート、サービス、SSOなど)のトラフィックは示されません。

EBSスイート定義を構成した後で、EBSアプリケーションにログインし、アプリケーションでクリティカル・パスを実行することを強くお薦めします。その後、RUEIで記録されたアクションを検索し、セッション診断機能を使用してそれらが正しくレポートされていることを確認します。具体的には、次のとおりです。

- 説明がレポートされ、コードはレポートされないことを確認します。アプリケーション名のかわりにコードまたはページグループ名のかわりにページグループ・レベルがレポートされる場合、`create_EBS_info.pl`スクリプトから導出された情報が正常にアクティブ化されていません。

- 短いセッションが多数レポートされる場合は、Formsトラフィックが測定されていません。

- .`jsp`ファイルが多数レポートされる場合は、手動ページ・ネーミングの必要性を示します(ユーザーが必要とする場合)。

### N.20.2 識別されないアクションが多数レポートされる

レポートされるトラフィックの大部分を識別されないアクションが占める場合、Formsの追跡が正常に機能していません。次の項目に注意する必要があります。

- ステータス・バーやテキストフィールドなど(図N-2を参照)が表示されない場合は、監視対象トラフィックの特定の特性が取得されていません。この場合は、カスタマ・サポートに問い合せてください。

- N.3項「監視の有効範囲の検証」の説明に従って、サーバー・ポートが正しく構成されていることを確認します。特に、これは通常のHTTPポートとしてではなく、Formsサーブレット・モード・ポートとして構成されている必要があります。

### N.20.3 Formsのみの環境におけるuser-id識別の構成

formsプロトコルは通常のhttpトラフィック(RUEIのネイティブ)と同じではないため、formsのみの環境にuser-idソースを構成する場合は多少の知識が必要になります。この項では、このような環境でuser-idを構成する方法について説明します。

使用できるソースのタイプは2種類で、これらがクライアント・リクエストとして構成されている必要があります。

- Oracle Formsクライアント要素

  formsの階層構造によって送信されるforms要素内の値です。

- Oracle Formsクライアント・プロパティ

  user-idが含まれる、一意の名前を持つプロパティ。

user-idの構成に必要な情報はコレクタのログ(場所は次の例を参照)から取得されます。

    $RUEI_DATA/processor/data/c_localhost/http/20130207/proc1/

このディレクトリにナビゲートし、すべてのファイルを対象にしてログイン・アクションを実行したユーザーを検索します。次はこのコマンドの例です。

    zgrep paul http-201*.gz

次のような出力が生成されます。

    2013/01/30:10:31:33:205   3       -        235.174.222.186 2949    -   10.161.124.51   80      POST    /forms/lservlet;jsessionid=1510821202615f4b6f7d688710fdd8f6c47
    d629bcea4f11bfaf296ba87eda0c9.e3mLchuRax4Ne3eSc3yQbh4Mbi1ynknvrkLOlQzNp65In0      1.1     -
    ORA_TAHITI_PREFS=86910bc3181a2b82;ORA_UCM_INFO=65241d61bd16d97d;ORA_UCM_VER=19df918e29822249;ORA_UCM_SRVC=0753cd488af8cbcb; WEB2000userid=fffcec715cd9b15b;scouser=dc87defb85e08290;
    __utma=af4005efe0fdbb6f;__utmz=abb9352a6918ccb5;__qca=85a88405530a5b63;loginCookieDate=726b29c7e447ad61;checkerStorage=25660f1ee2708d50;s_nr=c6802213d9578355;s_cc=0036758e0041e45f;
    s_sq=220c178208c68ade;ORASSO_AUTH_HINT=056febb7e15cabf6;gpv_p24=f252faefe6be2601;gpw_e24=f252faefe6be2601;ORA_ML_STATE=53b69c923b02dfdc;
    ORA_ML_CLUSTER=7a0d1d9745276966;ORA_CSM_MODE=05cfeff006960dea;ORA_CSM_LOCALE=00000ca900000d42    nllx012.nl.oracle.com   -       -       Java1.3.1.26-internal   1376    31      0       0       1       200     application/octet-stream        -
    Oracle-Application-Server-10g/10.1.2.2.0 Oracle-HTTP-Server     -       268     59189   127     366     494     3       -       -       -       -       -       -       0       0       2:0:3:51645090  -       -       &Pragma=6&User-Agent=Java1.3.1.26-internal&Content-Length=31    -       -       &cl_enc=X-none&sv_enc=X-none&url_enc=none
    &LogonDialog.INDEX_LOGON_USERNAME_VALUE={val:paul;frm:no-form;hier:;class:LogonDialog;seqno:0039;name:;
    i:INDEX_LOGON_USERNAME_VALUE}&LogonDialog.INDEX_LOGON_DATABASE_VALUE={val:;frm:no-form;hier:;class:LogonDialog;seqno:0039;name:;
    i:INDEX_LOGON_DATA}   &hitinfo=no-selected-properties&form=Copyright (c) 1995-2009, Oracle Corporation&formtitle=Copyright (c) 1995-2009,
    Oracle Corporation&form=Copyright (c) 1995-2009, Oracle Corporation&FormStatusBar.INDEX_STBAR_REMOVE_LAMPS={val:1;frm:no-form;hier:FormWindow-2.FormCanvas-3.;
    class:FormStatusBar;seqno:4;name:;i:INDEX_STBAR_REMOVE_LAMPS} -       no-reply-body   other   274
    dynamic -       235.174.222.186 -       -

要素とプロパティの区別

通常は前述の例で示したプロパティ要素の構成で間に合います。これは、user-idが含まれる引数(`INDEX_LOGON_USERNAME_VALUE`)をその他の要素(一般的には`INDEX_VALUE`)と区別できるためです。プロパティ用の構成を行うには、次を設定します。

- ソース: Oracle Formsクライアント・プロパティ

- 値: INDEX_LOGON_USERNAME_VALUE

user-idが入力されるフィールドに一般名が付与されている場合があります。この場合、コレクタはこれをINDEX_VALUEというプロパティ名で記録します。これは次の例で確認できます。

    2013/02/04:13:06:24:655    9    -    10.173.25.160    62439    -    10.62.38.50    8888    POST    /forms/lservlet;jsessionid=Bm1cRPkXdrdXTKYS9zy2nPjQCQn3WQY
    FGHm1gWSCthY8ngWTxqty!1966339776    -    -    -    fefr1atp08.ods:8888    -    -
    Mozilla/4.0 (Windows 7 6.1) Java/1.6.0_24    372    34    0    0    1    200    application/octet-stream    -    -    -    325    19    362    1    -    4    -    -    -    -    -    -    0    0    -    -    -    &Pragma=6&Content-Length=34    &X-ORACLE-DMS-ECID=004pEJg2tBjFs1l6wvjc6G0003gD00RG0X    -
    &cl_enc=X-none&sv_enc=X-none&url_enc=none    &TextFieldItem.INDEX_VALUE={val:paul;frm:RE_FM_INICIO;hier:RE_FM_INICIO.FormCanvas-2.FormCanvas-3.;class:TextFieldItem;seqno:4;name:Enter value for Username;i:INDEX_VALUE}&TextFieldItem.INDEX_SELECTION=
    {val:point_6_6;frm:RE_FM_INICIO;hier:RE_FM_INICIO.FormCanvas-2.FormCanvas-3.;
    class:TextFieldItem;seqno:4;name:Enter value for Username;i:INDEX_SELECTION}&TextFieldItem.INDEX_CURSOR_POSITION={val:6;frm:RE_FM_INICIO;
    hier:RE_FM_INICIO.FormCanvas-2.FormCanvas-3.;
    class:TextFieldItem;seqno:4;
    name:Enter value for Username;
    i:INDEX_CURSOR_POSITION}&TextFieldItem.INDEX_SKEY={val:point_9_0;
    frm:RE_FM_INICIO;hier:RE_FM_INICIO.FormCanvas-2.FormCanvas-3.;
    class:TextFieldItem;seqno:4;
    name:Enter value for Username;
    i:INDEX_SKEY}    &TextFieldItem.INDEX_AUTOSCROLL={val:void;frm:RE_FM_INICIO;hier:RE_FM_INICIO.FormCanvas-2.FormCanvas-3.;
    class:TextFieldItem;seqno:4;
    name:Enter value for Username;
    i:INDEX_AUTOSCROLL}&TextFieldItem.INDEX_AUTOSCROLL={val:***;frm:RE_FM_INICIO;
    hier:RE_FM_INICIO.FormCanvas-2.FormCanvas-3.;
    class:TextFieldItem;seqno:5;
    name:Enter value for Password;
    i:INDEX_AUTOSCROLL}    -    no-replay    other    62    dynamic    -    10.73.5.60    -    -    -

この場合は要素構成アイテムを使用する必要があります。入力されている値はforms内でのその要素までの階層パスです。

この値を検索するときには、次の例のような'sed'コマンドを使用すると便利です。

    USER=paul; zgrep $USER http-201* |sed "s,^.*={val:${USER};[^}]*;hier:\([^};]*\);class:\([^};]*\);seqno:\([^;}]*\)[^}]*;i:INDEX_\([^;}]*\)[;}].*,found elem: \\1\\2-\\3.INDEX_\\4,g"
    found elem: RE_FM_INICIO.FormCanvas-2.FormCanvas-3.TextFieldItem-4.INDEX_VALUE

構造の各要素の意味は、次のとおりです。

- `USER`は、事前に検出した完全ログイン名です。

- `zgrep $USER http-201*`は読み取るファイルの名前です。

- `found elem`は結果です。

このパラメータに次の値を設定します。

- ソース: Oracle Formsクライアント要素

- 値: RE_FM_INICIO.FormCanvas-2.FormCanvas-3.TextFieldItem-4.INDEX_VALUE

### N.20.4 create_EBS_info.plスクリプトでFRM-91500エラーがレポートされる

`create_EBS_info.pl`スクリプトをUNIXシステムで実行すると、次のエラーが複数回レポートされます。

    FRM-91500: Unable to start/complete the build.

これは、`frmbatch`スクリプトがユーザー・インタフェースにアクセスできないために発生します。次の項目に注意する必要があります。

- DISPLAY変数が正しく設定されていることを確認します。これは`xclock`または`xeyes`などX Window Systemのツールを使用して確認できます。また、別のサーバーのX Windows Systemを使用できるようにするSSHのXフォワードも検討してください。

- `frmcmp_batch`スクリプトは、X Windows Systemなしで機能しようとします。これは、`create_EBS_info.pl`構成スクリプトで使用される最初のスクリプトです。次のコマンドを使用して表示モードを設定します。

      $ set ORACLE_TERM=vt220; export ORACLE_TERM

### N.20.5 PerlのZip機能が使用できない

一部のシステムではzip機能はPerlパッケージと一緒にインストールされません。この場合は次のメッセージが表示されます。

    The Archive::Zip package is not available on this system.

このメッセージの後で、サンプル・コマンドによってアーカイブの作成方法が示されます。アーカイブには空のファイルを含めないこと、およびファイルをディレクトリに入れないことに注意してください。これらに違反すると、RUEIにアップロードできません。または、適切なディレクトリでコマンド`zip` `EBS_*txt`を実行することもできます。

### N.20.6 frmcmp_batchスクリプトが失敗する

`frmcmp_batch`スクリプトが不明なエラーで失敗し、次のようなレポートが生成されます。

    execution of 'frmcmp_batch module=XXX/XXX/XXX.fmb module_type=form batch=yes logon=no forms_doc=yes strip_source=yes build=no output_file=/tmp/XXX.txt' failed: 11. Ignoring /XXX/XXX/XXX.fmb

これは、レポートされた.`fmb`ファイルが.`txt`形式に変換できなかったこと(おそらくは破損のため)を示しています。すべての.`fmb`ファイルのうち少数のみがレポートされる場合は、問題ありません。実際、レポートされたフォームは本番環境で機能しない可能性が高いためです。ただし、レポートされたフォームをWebサイトのビジターが頻繁に使用しており、異常がないことがわかっている場合は、この問題をレポートしてください。このとき、関連する.`fmb`ファイルと一緒に、EBS環境でのファイルのデプロイ方法がわかる情報も提供してください。

### N.20.7 create_EBS_info.plスクリプトで警告/エラーが生成される

`create_EBS_info.pl`スクリプトを実行しているときにエラーまたは警告(あるいは両方)を受け取った場合は、エラーや警告の種類に応じて次のようにします。

- データベース関連:

  - 次のコマンドを発行して、`create_EBS_INFO.pl`スクリプトに指定されている`connectstring`を確認します。

        sqlplus connectstring @temporarysqlfile

- Forms関連:

  - `frmcmp`または`frmcmp_batch`が正常に機能していません。この問題のトラブルシューティング情報の詳細は、「ノート266731.1」(`https://support.oracle.com/CSP/ui/flash.html`)を参照してください。

  - `frmcmp`または`frmcmp_batch`がsig 11セグメント・エラーを返します。これは`GRDDHIST.fmb`について発生することがわかっています。

脚注

脚注1:このスクリプトは、本番環境と同じであれば検収環境でも実行できます。