RightNow Object Query Language (ROQL)機能によって、RightNow Cxデータベースに対する問合せを作成できます。
この項の内容は次のとおりです。
操作画面でROQL操作カテゴリを選択する場合、ROQL問合せを入力するフィールドが表示されます。選択した操作に応じて、ROQL文を入力します。
ROQLによって、組織のRightNow Cxデータから特定の情報を検索できます。
この章では、ROQLについて詳しく説明しません。Oracle Service Cloud Connect Web Services for SOAPを参照してください。
ROQL問合せ文は、Oracle RightNow Cxのデータを問い合せます。問合せ文のテキスト・ボックスは、Oracle RightNow CXに準拠したROQL文で構成されます。
問合せ操作の詳細は、ROQL操作に関する項を参照してください。ROQLの詳細は、Oracle RightNow Connect Web Services for SOAP開発者ガイドのROQLに関する項を参照してください。
ROQL問合せ文を使用して、RightNow Cxのデータを問い合せます。問合せ文のテキスト・ボックスは、RightNow Cxに準拠したROQL文で構成されます。
問合せ操作の詳細は、ROQL操作に関する項を参照してください。ROQLの詳細は、Oracle RightNow Connect Web Services for SOAP開発者ガイドのROQLに関する項を参照してください。
問合せを実行してテストできます。「テスト」アイコンをクリックすると、テスト・ダイアログ・ボックスが表示されます。
「問合せテスト」ダイアログには次の領域があります。
「問合せ文」および「結果」。「問合せ文」テキスト・ボックスは、問合せ文自体を対象とし、実行された問合せの結果は「結果」ボックスに表示されます。問合せに1つ以上のバインド・パラメータが含まれる場合、それらの値を指定するための1つ以上の入力ボックスが表示されます。
パラメータ・バインディング。問合せ文に表示されるパラメータ・バインディングの値を入力します。
問合せのテスト。クリックして問合せを実行します。
結果。問合せの実行に成功すると、テキスト領域にRightNow Cxからの結果が表示されます。
この項では、ROQLクエリー・ビルダーの使用方法について説明します。ROQLクエリー・ビルダーは、統合開発者が負担に感じることが多い各領域に対処します。
このアプローチによって、複雑でエラーのない問合せを簡単に記述できます。このような問合せの記述を実現するため、ROQLクエリー・ビルダーは、次の各項に記載された機能を提供しています。
ROQLクエリー・ビルダーは、問合せを構成する際に使用できる潜在的な標準オブジェクトとカスタム・オブジェクトを識別します。この機能の例は次のとおりです。
ROQLクエリー・ビルダーは、カーソルの位置に基づいて問合せ文字列のコンテキストを自動的に識別します。このコンテキストを使用して、クエリー・ビルダーは、効率的なROQL問合せを記述できるように推奨事項を提供します。この機能は、次のように動作します。
Select Contact from Contact
where
という問合せを実行する場合に、where
句に続けて[Ctrl] + [Space]を押すと、問合せの調整に使用できるContact
オブジェクトのフィールドのリストと、適用可能なキーワードおよび関数が表示されます。オートコンプリート機能によって、複雑なROQL問合せを迅速で効率的な方法で簡単に構築できます。この機能は次のとおりです。
Select Se
を使用する場合、Se
という用語に続けて[Ctrl] + [Space]を押すと、クエリー・ビルダーによってSeで始まるすべてのオブジェクトが表示されます。ROQLクエリー・ビルダー機能では、別名がサポートされます。これは、RightNowオブジェクト(Oracle RightNowアダプタにおけるすべてのプライマリ・オブジェクトのベース・クラス)の別名が問合せの対象になっていることを認識し、別名を実際のオブジェクト名として扱います。
オブジェクトに関連付けられたすべての操作を、別名に対して実行できます。
Select from ServiceCategory S where
で、SはオブジェクトServiceCategory
の別名として設定されます。そのため、ServiceCategoryに関連付けられたすべての操作を、別名Sに対して実行できます。別名に対して実行できる操作の一部は、次のとおりです。Select
とfrom
の間で[Ctrl] + [Space]を押すと、クエリー・ビルダーによってS
が表示され、Select
とFrom
の間にS
が配置されることが示されます(ここでは、Select S from ServiceCategory S
where
となります)。 S
に続けてドットを入力すると、Service
Category
に関連付けられたすべてのリレーションシップが表示されます。Select S from ServiceCategory S where S
で、最後のS
に続けてドットを入力すると、ServiceCategory
に関連付けられたすべてのフィールドが表示されます。ROQLでは、リレーションシップ機能がサポートされます。この機能によって、リレーションシップを通じて、あるプライマリ・オブジェクトから別のプライマリ・オブジェクトに到達できます。
ROQLクエリー・ビルダーは、識別済のオブジェクトから到達可能なすべてのリレーションシップを識別してリストします。リレーションシップのリレーションシップをリストできます。
詳細は、Oracle RightNow Connect Web Services for SOAP開発者ガイドを参照してください。
特定のContact
の親組織を検索する必要がある場合、ROQLのテキスト領域にSelect Contact
と入力して「.」を入力すると、Contactオブジェクトで使用可能なすべてのリレーションシップが表示されます。
クエリー・ビルダーには、問題のあるテキストの下に赤い波線を描画して強調表示する組込みのインライン・バリデータがあります(ツールチップ・メッセージにエラーを修正するための提案も表示されます)。
クエリー・ビルダー・バリデータは、キーワード、オブジェクト名、リレーションシップ名、フィールド名および関数名のスペル・チェックを実行します。正しく入力されたキーワードは、すべて自動的に青く表示され、それらのキーワードが有効であることが示されます。
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には、入力スキーマの一部としてバインド・パラメータが含まれます。
アダプタ問合せに対して生成された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問合せを再構築します。
そのため、アダプタを使用して問合せパラメータを簡単に定義することで、問合せ引数をパラメータ化し、それらのパラメータを実行時に動的にインジェクトできます。