機械翻訳について

Groovyスクリプトの例

このトピックでは、Groovyスクリプトを使用して実行できるアプリケーション変更の例を示します。

アプリケーション・コンポーザでは、Groovyを使用して、アプリケーション変更を強化できます。 Groovyは、アプリケーション・コンポーザがサポートされるJavaプラットフォーム用の標準の動的スクリプト言語です。

このトピックでは、次の例について説明します:

  • println関数の使用

  • フィールドを条件付きで必須にします

  • フィールドを条件付きで更新可能にします

  • フィールドへの検証の追加

ノート: ヘルプ・リクエストというカスタム・オブジェクトが存在し、Navigator(ナビゲータ)メニューで使用できるものとします。

Println関数の使用

この例では、トリガーにprintln関数を追加して、商談の受注確度を表示します。 「受注確度」フィールドが更新されるたびに、トリガー内のprintln関数が更新を実行し、アプリケーション・コンポーザ内の「ランタイム・メッセージ」ページに出力が表示されます。

商談の受注確度を表示するには:

  1. 「アプリケーション・コンポーザ」にナビゲートします。

  2. 「標準オブジェクト」を展開してから、「商談」を展開します。

  3. 「商談」で、「サーバー・スクリプト」をクリックします。

  4. トリガー・タブで、フィールド・トリガーに「アクション」 > 「追加」を選択します。

  5. 「トリガー」フィールドで、「データベースでの更新前」を選択します。

  6. 「トリガー名」フィールドに、TestPrintlnと入力します。

  7. トリガー定義リージョンで、式テキスト・ボックスに次のスクリプトを入力します:

    println("Before Update Trigger. The new value of the Win Probability is" + nvl(WinProb, "Win Probability was null")).

    nvl()は、変数がnullを認識できるようにします。

  8. 「検証」アイコンをクリックします。 スクリプトが正常に解析されると確認が表示されます。

  9. 「OK」をクリックします。

  10. 「ナビゲータ」メニューで、「商談」をクリックします。

  11. 左側のペインで「商談の作成」をクリックします。

  12. 「名前」フィールドに、「商談トリガー・テスト」と入力します。

  13. 「受注確度(%)」フィールドに、50と入力します。

  14. 「保存してクローズ」ボタンをクリックします。

  15. 概要ページで、商談タブを選択します。

  16. 表の「商談トリガー・テスト」リンクをクリックします。

  17. 「受注確度(%)」フィールドに、25と入力します。

  18. 「保存してクローズ」ボタンをクリックします。

  19. 「アプリケーション・コンポーザ」にナビゲートします。

  20. 概要ページで、「ランタイム・メッセージ」をクリックします。

  21. 「最新ログ・メッセージの取得」ボタンをクリックします。

  22. println関数に書き込んだメッセージを見つけます。

    ヒント: メッセージを降順にソートして、すばやく検索します。

フィールドの条件付き必須化

この例では、次の2つのカスタム・フィールドをヘルプ・リクエスト・オブジェクトに追加します。 他のフィールドで選択した値に基づいて、いずれかを条件付きで必須にします。

  1. 固定選択リスト・タイプの「優先度」フィールド。

  2. 「優先度」フィールドの値に応じて条件付きで必須に設定されるテキスト・タイプの「理由」フィールド。

    優先順位フィールドの値が緊急に設定されている場合、理由フィールドは必須フィールドまたは必須フィールドとして表示されます。 それ以外の場合、理由フィールドはオプションのままです。

アプリケーション・コンポーザでフィールドを作成し、そのいずれかを条件付きで必須にするには:

  1. 「アプリケーション・コンポーザ」にナビゲートします。

  2. 「カスタム・オブジェクト」を展開します。

  3. 「ヘルプ・リクエスト」を展開し、「フィールド」をクリックします。

  4. 「カスタム」タブで、「アクション」 > 「作成」を選択します。

  5. フィールド・タイプの選択ウィンドウで、「テキスト」を選択し、OKをクリックします。

  6. 「テキスト・フィールドの作成」ページで、「表示ラベル」「理由」と入力します。

  7. 「保存してクローズ」をクリックします。

  8. フィールド・ページで、カスタム・タブの下の「アクション」 > 「作成」を選択します。

  9. フィールド・タイプの選択ウィンドウで、「選択リスト(固定)」を選択し、OKをクリックします。

  10. 「固定選択リストの作成時」ページで、「表示ラベル」「優先度」と入力します。

  11. 値リスト・リージョンで、「新規参照タイプの作成」アイコンをクリックします。

  12. 「参照タイプの作成中」ダイアログで、次を指定します:

    フィールド

    意味

    ヘルプ・リクエストの優先度

    参照タイプ

    HR_PRIORITY

  13. 「アクション」 > 「作成」を選択し、最初の行で次を指定します:

    意味

    緊急

    参照コード

    URG

    表示順序

    1

  14. 「アクション」 > 「作成」を選択し、2行目に次を指定します:

    意味

    重要

    参照コード

    IMP

    表示順序

    2

  15. 「保存」をクリックします。

  16. 「固定選択リストの作成時」ページで、デフォルト値リージョンの「固定値」オプションを選択し、デフォルト値として重要を選択します。

  17. 「保存してクローズ」ボタンをクリックします。

    フィールド・ページが開きます。

  18. カスタム・タブで、「理由」リンクをクリックします。

    テキスト・フィールドの編集: 理由ページが開きます。

  19. 制約リージョンで、「必須」チェック・ボックスを選択し、横にある式ビルダー・アイコンをクリックします。

    式ビルダー・ダイアログが開きます。

  20. (スクリプト)テキスト・ボックスに次のように入力します:

    try { if(nvl(Priority_c,"") == "URGENT") { return true } else { return false } } catch(e) { println("Error with the Required property of the Justification field in the Help Request object") }

  21. 「OK」ボタンをクリックします。

  22. 制約リージョンで、「依存先」リストから「優先度」を選択します。

  23. 「保存してクローズ」ボタンをクリックします。

  24. 左側のペインのヘルプ・リクエストで、「ページ」をクリックします。

    ヘルプ・リクエスト: ページ・ページが開きます。

  25. 「要約フォームの編集」リンクをクリックします。

    編集「詳細ページ要約フォーム」ページが開きます。

  26. デフォルト・サマリーの構成リージョンで、「優先度」および「理由」フィールドを「選択したフィールド」ボックスに移動します。 「優先度」フィールドが「理由」フィールドの上にあることを確認します。 そうでない場合は、右側の上矢印または下矢印ボタンを使用してシーケンスを調整します。

  27. 「保存してクローズ」ボタンをクリックします。

  28. 「ナビゲータ」メニューで、「ヘルプ・リクエスト」をクリックします。

  29. リスト内のアクティブなヘルプ・リクエストをクリックすると、その編集ページが開きます。

  30. 「優先度」リストから重要を選択します。

  31. 「保存」ボタンをクリックします。

    ヘルプ・リクエストが保存されました。

  32. 次に、「優先度」リストで「緊急」を選択します。

    必須フィールドを示す「理由」フィールドの横にアスタリスクが表示されます。

  33. 「保存」ボタンをクリックします。

    保存する前に「理由」フィールドに値を入力しなかったため、エラー・メッセージが表示されます。

  34. 「理由」フィールドに「ラップトップが起動しています」と入力します。

  35. 「保存してクローズ」ボタンをクリックします。

    ヘルプ・リクエストが保存されました。

条件付きでフィールドを更新可能にします

この例では、次の2つのカスタム・フィールドをヘルプ・リクエスト・オブジェクトに追加し、スクリプトを入力していずれかを条件付きで更新可能にします。

  1. 「エグゼクティブ・スポンサ・プログラム」チェック・ボックス

  2. 「エグゼクティブ・スポンサ」テキスト・フィールド

「エグゼクティブ・スポンサ」プログラム・チェック・ボックスが選択されている場合は、「エグゼクティブ・スポンサ」フィールドを更新できます。 それ以外の場合は、「エグゼクティブ・スポンサ」フィールドが無効になります。

これらのフィールドを作成し、そのいずれかを条件付きで更新可能にするには:

  1. 「アプリケーション・コンポーザ」にナビゲートします。

  2. 「カスタム・オブジェクト」を展開します。

  3. 「ヘルプ・リクエスト」を展開し、「フィールド」をクリックします。

  4. 「カスタム」タブで、「アクション」 > 「作成」を選択します。

  5. フィールド・タイプの選択ウィンドウで、「テキスト」を選択し、OKをクリックします。

  6. 「テキスト・フィールドの作成」ページで、「表示ラベル」「エグゼクティブ・スポンサ」と入力します。

  7. 「保存してクローズ」をクリックします。

  8. フィールド・ページで、カスタム・タブの下の「アクション」 > 「作成」を選択します。

  9. フィールド・タイプの選択ウィンドウで、「チェック・ボックス」を選択し、OKをクリックします。

  10. 「テキスト・フィールドの作成」ページで、「表示ラベル」「エグゼクティブ・スポンサ・プログラム」と入力します。

  11. 「保存してクローズ」をクリックします。

  12. フィールド・ページで、「エグゼクティブ・スポンサ」リンクをクリックします。

    チェック・ボックス・フィールドの編集: 「エグゼクティブ・スポンサ」ページが開きます。

  13. 制約リージョンで、「更新可能」チェック・ボックスを選択し、横にある式ビルダー・アイコンをクリックします。

    式ビルダー・ダイアログが開きます。

  14. (スクリプト)テキスト・ボックスに次のように入力します:

    try{ if(nvl(ExecutiveSponsorProgram_c,"") == "N") { return false } else { return true } } catch(e) { println("Error with the Updatable property of Executive Sponsor field in the Help Request object") }

  15. 「OK」ボタンをクリックします。

  16. 制約リージョンで、「依存先」リストから「エグゼクティブ・スポンサ・プログラム」を選択します。

  17. 「保存してクローズ」ボタンをクリックします。

  18. 左ペインの「ヘルプ・リクエスト」で、「ページ」をクリックします。

    ヘルプ・リクエスト: ページ・ページが開きます。

  19. 「要約フォームの編集」リンクをクリックします。

    編集「詳細ページ要約フォーム」ページが開きます。

  20. デフォルト・サマリーの構成リージョンで、「エグゼクティブ・スポンサ」および「エグゼクティブ・スポンサ・プログラム」フィールドを「選択したフィールド」ボックスに移動します。

    「エグゼクティブ・スポンサ・プログラム」フィールドが「エグゼクティブ・スポンサ」フィールドの上にあることを確認します。 そうでない場合は、右側の上矢印または下矢印ボタンを使用してシーケンスを調整します。

  21. 「保存してクローズ」ボタンをクリックします。

  22. ナビゲータ・メニューで、「ヘルプ・リクエスト」をクリックします。

  23. リスト内のアクティブなヘルプ・リクエストをクリックすると、その編集ページが開きます。

  24. 「エグゼクティブ・スポンサ・プログラム」チェック・ボックスを選択し、「保存」ボタンをクリックします。

    この時点で、「エグゼクティブ・スポンサ」フィールドに名前を入力できます。

  25. ここで、「エグゼクティブ・スポンサ・プログラム」チェック・ボックスの選択を解除し、「保存」ボタンをクリックします。

    「エグゼクティブ・スポンサ・プログラム」チェック・ボックスを選択していないため、「エグゼクティブ・スポンサ」フィールドに何も入力できません。

フィールドへの検証の追加

この例では、式を使用してフィールドに検証を追加します。 まず、企業Eメールというカスタム・テキスト・フィールドをヘルプ・リクエスト・オブジェクトに追加してから、検証を追加してEメール・アドレスの構文を確認します。

フィールドを作成して検証を追加するには:

  1. 「アプリケーション・コンポーザ」にナビゲートします。

  2. 「カスタム・オブジェクト」を展開します。

  3. 「ヘルプ・リクエスト」を展開し、「フィールド」をクリックします。

  4. 「カスタム」タブで、「アクション」 > 「作成」を選択します。

  5. フィールド・タイプの選択ウィンドウで、「テキスト」を選択し、OKをクリックします。

  6. 「テキスト・フィールドの作成」ページで、「表示ラベル」「法人Eメール」と入力します。

  7. 「保存してクローズ」をクリックします。

  8. 左側のペインで、「ヘルプ・リクエスト」の下の「ページ」をクリックします。

    ヘルプ・リクエスト: ページが開きます。

  9. 作成ページ・リージョンで、「作成ページの編集」をクリックします。

    作成ページの編集がオープンします。

  10. 「構成の作成中」ページ・リージョンで、「法人Eメール」「選択したフィールド」ボックスに移動します。

  11. 「保存してクローズ」ボタンをクリックします。

  12. 詳細ページ・リージョンで、「要約フォームの編集」をクリックします。

    編集「詳細ページ要約フォーム」ページが開きます。

  13. デフォルト・サマリーの構成リージョンで、「法人Eメール」「選択したフィールド」ボックスに移動します。

  14. 「保存してクローズ」ボタンをクリックします。

  15. 左側のペインで、「ヘルプ・リクエスト」の下の「サーバー・スクリプト」をクリックします。

  16. 「検証ルール」タブで、フィールド・ルール・リージョンの下の「アクション」 > 「追加」を選択します。

  17. 「フィールド検証ルールの作成」ページで次の値を指定します:

    フィールド名

    フィールド名

    法人Eメール

    ルール名

    CheckValid

    エラー・メッセージ

    企業Eメールの構文が無効です。 電子メール・アドレスの有効な構文を入力

  18. スクリプトのテキスト・ボックスに、次のように入力します:

    newValue == null || newValue ==~ /[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})/

  19. 「保存してクローズ」ボタンをクリックします。

  20. ナビゲータ・メニューで、「ヘルプ・リクエスト」をクリックします。

  21. リスト内のアクティブなヘルプ・リクエストをクリックすると、その編集ページが開きます。

  22. 「法人Eメール」フィールドにmhoope.oracle.comと入力します。

  23. 「保存」ボタンをクリックします。

    電子メール・アドレスに適切な構文がないため、指定したエラー・メッセージが表示されます。

  24. 「法人Eメール」フィールドにmhoope@oracle.comと入力します。

  25. 「保存」ボタンをクリックします。

    電子メール・アドレスの有効な構文を入力した後、ヘルプ・リクエストを保存できるようになりました。