プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle RightNow Cloudアダプタの使用
12.2.1.1.0
E79310-01
目次へ移動
目次

前
前へ
次
次へ

ROQLの使用

RightNow Object Query Language (ROQL)機能によって、RightNow Cxデータベースに対する問合せを作成できます。

この項の内容は次のとおりです。

ROQLの使用

操作画面でROQL操作カテゴリを選択する場合、ROQL問合せを入力するフィールドが表示されます。選択した操作に応じて、ROQL文を入力します。

ROQLによって、組織のRightNow Cxデータから特定の情報を検索できます。

この章では、ROQLについて詳しく説明しません。Oracle Service Cloud Connect Web Services for SOAPを参照してください。

ROQL問合せ文

ROQL問合せ文は、Oracle RightNow Cxのデータを問い合せます。問合せ文のテキスト・ボックスは、Oracle RightNow CXに準拠したROQL文で構成されます。

問合せ操作の詳細は、ROQL操作に関する項を参照してください。ROQLの詳細は、Oracle RightNow Connect Web Services for SOAP開発者ガイドのROQLに関する項を参照してください。

ROQL問合せ文

ROQL問合せ文を使用して、RightNow Cxのデータを問い合せます。問合せ文のテキスト・ボックスは、RightNow Cxに準拠したROQL文で構成されます。

問合せ操作の詳細は、ROQL操作に関する項を参照してください。ROQLの詳細は、Oracle RightNow Connect Web Services for SOAP開発者ガイドのROQLに関する項を参照してください。

ROQL問合せ文の実行

問合せを実行してテストできます。「テスト」アイコンをクリックすると、テスト・ダイアログ・ボックスが表示されます。

「問合せテスト」ダイアログには次の領域があります。

  • 「問合せ文」および「結果」「問合せ文」テキスト・ボックスは、問合せ文自体を対象とし、実行された問合せの結果は「結果」ボックスに表示されます。問合せに1つ以上のバインド・パラメータが含まれる場合、それらの値を指定するための1つ以上の入力ボックスが表示されます。

  • パラメータ・バインディング。問合せ文に表示されるパラメータ・バインディングの値を入力します。

  • 問合せのテスト。クリックして問合せを実行します。

  • 結果。問合せの実行に成功すると、テキスト領域にRightNow Cxからの結果が表示されます。

ROQLクエリー・ビルダーの使用

この項では、ROQLクエリー・ビルダーの使用方法について説明します。ROQLクエリー・ビルダーは、統合開発者が負担に感じることが多い各領域に対処します。

このアプローチによって、複雑でエラーのない問合せを簡単に記述できます。このような問合せの記述を実現するため、ROQLクエリー・ビルダーは、次の各項に記載された機能を提供しています。

標準およびカスタム・ビジネス・オブジェクトの検出の簡略化

ROQLクエリー・ビルダーは、問合せを構成する際に使用できる潜在的な標準オブジェクトとカスタム・オブジェクトを識別します。この機能の例は次のとおりです。

  1. 操作画面で、操作タイプに「ROQL」を選択します。
  2. ROQLエディタ・テキスト領域にSelectと入力し、[Ctrl] + [Space]を押します。クエリー・ビルダーに、Oracle RightNow Cxで利用可能な標準およびカスタム・オブジェクトのリストが表示されます。

    注意:

    作成したカスタム・オブジェクトが操作ページで示されるオブジェクトのリストに表示されない場合、接続ページの「キャッシュのクリア」オプションを選択し、再度接続を行ってRightNow Cxシステムの最新のメタデータを取得してください。

  3. あるいは、特定のパッケージを指定して、該当のパッケージで作成されるすべてのカスタム・オブジェクトを表示できます。

コンテキストに基づく問合せ構成要素の提案

ROQLクエリー・ビルダーは、カーソルの位置に基づいて問合せ文字列のコンテキストを自動的に識別します。このコンテキストを使用して、クエリー・ビルダーは、効率的なROQL問合せを記述できるように推奨事項を提供します。この機能は、次のように動作します。

  1. ROQL問合せテキスト領域にSelectと入力し、[Ctrl] + [Space]を押すと、クエリー・ビルダーにはすべての標準オブジェクトとビジネス・オブジェクトが表示されます。
  2. 同様に、Select Contact from Contact whereという問合せを実行する場合に、where句に続けて[Ctrl] + [Space]を押すと、問合せの調整に使用できるContactオブジェクトのフィールドのリストと、適用可能なキーワードおよび関数が表示されます。

オートコンプリートの提供

オートコンプリート機能によって、複雑なROQL問合せを迅速で効率的な方法で簡単に構築できます。この機能は次のとおりです。

  1. 問合せ文字列のSelect Seを使用する場合、Seという用語に続けて[Ctrl] + [Space]を押すと、クエリー・ビルダーによってSeで始まるすべてのオブジェクトが表示されます。

可読性を向上するための別名のサポート

ROQLクエリー・ビルダー機能では、別名がサポートされます。これは、RightNowオブジェクト(Oracle RightNowアダプタにおけるすべてのプライマリ・オブジェクトのベース・クラス)の別名が問合せの対象になっていることを認識し、別名を実際のオブジェクト名として扱います。

オブジェクトに関連付けられたすべての操作を、別名に対して実行できます。

  1. 問合せ文字列Select from ServiceCategory S whereで、SはオブジェクトServiceCategoryの別名として設定されます。そのため、ServiceCategoryに関連付けられたすべての操作を、別名Sに対して実行できます。別名に対して実行できる操作の一部は、次のとおりです。
  2. 前述の問合せのSelectfromの間で[Ctrl] + [Space]を押すと、クエリー・ビルダーによってSが表示され、SelectFromの間にSが配置されることが示されます(ここでは、Select S from ServiceCategory S whereとなります)。
  3. 最初のSに続けてドットを入力すると、Service Categoryに関連付けられたすべてのリレーションシップが表示されます。
  4. 同様に、この問合せSelect S from ServiceCategory S where Sで、最後のSに続けてドットを入力すると、ServiceCategoryに関連付けられたすべてのフィールドが表示されます。

ROQLを使用したリレーションシップの提案

ROQLでは、リレーションシップ機能がサポートされます。この機能によって、リレーションシップを通じて、あるプライマリ・オブジェクトから別のプライマリ・オブジェクトに到達できます。

ROQLクエリー・ビルダーは、識別済のオブジェクトから到達可能なすべてのリレーションシップを識別してリストします。リレーションシップのリレーションシップをリストできます。

詳細は、Oracle RightNow Connect Web Services for SOAP開発者ガイドを参照してください。

特定のContactの親組織を検索する必要がある場合、ROQLのテキスト領域にSelect Contactと入力して「.」を入力すると、Contactオブジェクトで使用可能なすべてのリレーションシップが表示されます。

クエリー・ビルダーを使用したインラインおよびセマンティック検証の取得

クエリー・ビルダーには、問題のあるテキストの下に赤い波線を描画して強調表示する組込みのインライン・バリデータがあります(ツールチップ・メッセージにエラーを修正するための提案も表示されます)。

クエリー・ビルダー・バリデータは、キーワード、オブジェクト名、リレーションシップ名、フィールド名および関数名のスペル・チェックを実行します。正しく入力されたキーワードは、すべて自動的に青く表示され、それらのキーワードが有効であることが示されます。

ROQLクエリー・ビルダーでは、問合せのセマンティック検証もサポートされます。現在選択されているオブジェクトに対して、指定したリレーションシップまたはフィールド名が無効であることがわかります。

ROQLのアダプタ・サポート

Oracle RightNowアダプタは、オブジェクト問合せ言語を使用してRightNow CXプラットフォームに対してSQLに似た問合せを実行できるようにする問合せサブシステムを提供します。

ROQL問合せ言語は、Object Query Language (OQL)のサブセットと、オブジェクト表記法を処理するために拡張されているSQLに似た問合せ言語に基づきます。

ROQLでは、現在、Query Objects機能のみがサポートされ、Query CSはサポートされません。

問合せ引数

例として次の問合せを使用します。

問合せ引数を使用して問合せを調整します。そのため、前述の例では、LinおよびCAが問合せ引数になります。

Select Contact from Contact where Contact.Name.First = 'Lin' AND Contact.Address.City = 'CA'

問合せパラメータは、アダプタが問合せの実行中に実際の値に置き換える問合せ引数をパラメータ化できる独自の概念です。

SQLと同様に、問合せ言語には、WHERE句でフィルタを渡して検索を調整できる機能があります。この調整は、バインド・パラメータの概念を使用することで可能になります。

バインド・パラメータのサポート

Oracle RightNowアダプタには、バインド・パラメータの形式で問合せ文に入力を行うことができるオプションがあります。

Oracle RightNowアダプタの次の問合せの例を参照してください。orgidの前に追加されたアンパサンド記号の&は、アンパサンドがバインド・パラメータであることを示します。

問合せを実行して、それがバインド・パラメータとともにどのように機能するかを確認するには、「問合せのテスト」をクリックします。

前述のように、問合せによって、バインド・パラメータの値の指定が求められます。

アダプタ問合せに対して生成されたWSDLには、入力スキーマの一部としてバインド・パラメータが含まれます。

図3-9 バインド・パラメータが表示されたWSDLの生成済入力スキーマの一部



アダプタ問合せに対して生成されたJCAファイルは、次のようになります。

例3-7 問合せでバインド・パラメータが使用されている場合に生成されたJCAファイル

<adapter-config name="rightnowReferencePortType" adapter="rightnow" wsdlLocation="../WSDLs/rightnowReference.wsdl" xmlns="http://platform.integration.oracle/blocks
          /adapter/fw/metadata">
                 <connection-factory location=
                         "cloud/CloudAdapter">
    <non-managed-connection managedConnectionFactoryClassName="oracle.cloud.connector.
                            rightnow.
              RightNowConnectionFactory">
      <property name="targetWSDLURL" 
                           value="../WSDLs/soap.wsdl"/>
      <property name="csfkey" value="csf21"/>
      <property name="appID" 
                  value=
                "removeWhenAppIdIsHardcodedByRNPlugin"/>
      <property name="applicationVersion" value="1_2"/>
    </non-managed-connection>
  </connection-factory>
  <endpoint-interaction
                      portType="rightnowReferencePortType" 
                             operation="Get">
    <interaction-spec className="oracle.tip.adapter.cloud.
                          CloudInteractionSpec">
      <property name="targetOperation" value="Get"/>
      <property name="operationPath" value="Get"/>
      <property name="gpo.fetchAllNames" value="false"/>
    </interaction-spec>
  </endpoint-interaction>
</adapter-config>

問合せがパラメータ化されると、Oracle RightNowアダプタによって、そのコンシューマは、リクエスト・ペイロードの一部として問合せパラメータを渡すことができます。

アダプタは、リクエスト・ペイロードの問合せパラメータを動的に置き換えて、サービスの起動時に引数を含むROQL問合せを再構築します。

そのため、アダプタを使用して問合せパラメータを簡単に定義することで、問合せ引数をパラメータ化し、それらのパラメータを実行時に動的にインジェクトできます。