Groovyスクリプトの例
このトピックでは、Groovyスクリプトを使用して実行できるアプリケーション変更の例を示します。
アプリケーション・コンポーザでは、Groovyを使用して、アプリケーション変更を強化できます。 Groovyは、アプリケーション・コンポーザがサポートされるJavaプラットフォーム用の標準の動的スクリプト言語です。
このトピックでは、次の例について説明します:
-
println関数の使用
-
フィールドを条件付きで必須にします
-
フィールドを条件付きで更新可能にします
-
フィールドへの検証の追加
Println関数の使用
この例では、トリガーにprintln
関数を追加して、商談の受注確度を表示します。 「受注確度」フィールドが更新されるたびに、トリガー内のprintln
関数が更新を実行し、アプリケーション・コンポーザ内の「ランタイム・メッセージ」ページに出力が表示されます。
商談の受注確度を表示するには:
-
「アプリケーション・コンポーザ」にナビゲートします。
-
「標準オブジェクト」を展開してから、「商談」を展開します。
-
「商談」で、「サーバー・スクリプト」をクリックします。
-
トリガー・タブで、フィールド・トリガーに を選択します。
-
「トリガー」フィールドで、「データベースでの更新前」を選択します。
-
「トリガー名」フィールドに、TestPrintlnと入力します。
-
トリガー定義リージョンで、式テキスト・ボックスに次のスクリプトを入力します:
println("Before Update Trigger. The new value of the Win Probability is" + nvl(WinProb, "Win Probability was null"))
.nvl()
は、変数がnullを認識できるようにします。 -
「検証」アイコンをクリックします。 スクリプトが正常に解析されると確認が表示されます。
-
「OK」をクリックします。
-
「ナビゲータ」メニューで、「商談」をクリックします。
-
左側のペインで「商談の作成」をクリックします。
-
「名前」フィールドに、「商談トリガー・テスト」と入力します。
-
「受注確度(%)」フィールドに、50と入力します。
-
「保存してクローズ」ボタンをクリックします。
-
概要ページで、商談タブを選択します。
-
表の「商談トリガー・テスト」リンクをクリックします。
-
「受注確度(%)」フィールドに、25と入力します。
-
「保存してクローズ」ボタンをクリックします。
-
「アプリケーション・コンポーザ」にナビゲートします。
-
概要ページで、「ランタイム・メッセージ」をクリックします。
-
「最新ログ・メッセージの取得」ボタンをクリックします。
-
println
関数に書き込んだメッセージを見つけます。ヒント: メッセージを降順にソートして、すばやく検索します。
フィールドの条件付き必須化
この例では、次の2つのカスタム・フィールドをヘルプ・リクエスト・オブジェクトに追加します。 他のフィールドで選択した値に基づいて、いずれかを条件付きで必須にします。
-
固定選択リスト・タイプの「優先度」フィールド。
-
「優先度」フィールドの値に応じて条件付きで必須に設定されるテキスト・タイプの「理由」フィールド。
優先順位フィールドの値が緊急に設定されている場合、理由フィールドは必須フィールドまたは必須フィールドとして表示されます。 それ以外の場合、理由フィールドはオプションのままです。
アプリケーション・コンポーザでフィールドを作成し、そのいずれかを条件付きで必須にするには:
-
「アプリケーション・コンポーザ」にナビゲートします。
-
「カスタム・オブジェクト」を展開します。
-
「ヘルプ・リクエスト」を展開し、「フィールド」をクリックします。
-
「カスタム」タブで、 を選択します。
-
フィールド・タイプの選択ウィンドウで、「テキスト」を選択し、OKをクリックします。
-
「テキスト・フィールドの作成」ページで、「表示ラベル」に「理由」と入力します。
-
「保存してクローズ」をクリックします。
-
フィールド・ページで、カスタム・タブの下の を選択します。
-
フィールド・タイプの選択ウィンドウで、「選択リスト(固定)」を選択し、OKをクリックします。
-
「固定選択リストの作成時」ページで、「表示ラベル」に「優先度」と入力します。
-
値リスト・リージョンで、「新規参照タイプの作成」アイコンをクリックします。
-
「参照タイプの作成中」ダイアログで、次を指定します:
フィールド
値
意味
ヘルプ・リクエストの優先度
参照タイプ
HR_PRIORITY
-
を選択し、最初の行で次を指定します:
列
値
意味
緊急
参照コード
URG
表示順序
1
-
を選択し、2行目に次を指定します:
列
値
意味
重要
参照コード
IMP
表示順序
2
-
「保存」をクリックします。
-
「固定選択リストの作成時」ページで、デフォルト値リージョンの「固定値」オプションを選択し、デフォルト値として重要を選択します。
-
「保存してクローズ」ボタンをクリックします。
フィールド・ページが開きます。
-
カスタム・タブで、「理由」リンクをクリックします。
テキスト・フィールドの編集: 理由ページが開きます。
-
制約リージョンで、「必須」チェック・ボックスを選択し、横にある式ビルダー・アイコンをクリックします。
式ビルダー・ダイアログが開きます。
-
(スクリプト)テキスト・ボックスに次のように入力します:
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") }
-
「OK」ボタンをクリックします。
-
制約リージョンで、「依存先」リストから「優先度」を選択します。
-
「保存してクローズ」ボタンをクリックします。
-
左側のペインのヘルプ・リクエストで、「ページ」をクリックします。
ヘルプ・リクエスト: ページ・ページが開きます。
-
「要約フォームの編集」リンクをクリックします。
編集「詳細ページ要約フォーム」ページが開きます。
-
デフォルト・サマリーの構成リージョンで、「優先度」および「理由」フィールドを「選択したフィールド」ボックスに移動します。 「優先度」フィールドが「理由」フィールドの上にあることを確認します。 そうでない場合は、右側の上矢印または下矢印ボタンを使用してシーケンスを調整します。
-
「保存してクローズ」ボタンをクリックします。
-
「ナビゲータ」メニューで、「ヘルプ・リクエスト」をクリックします。
-
リスト内のアクティブなヘルプ・リクエストをクリックすると、その編集ページが開きます。
-
「優先度」リストから重要を選択します。
-
「保存」ボタンをクリックします。
ヘルプ・リクエストが保存されました。
-
次に、「優先度」リストで「緊急」を選択します。
必須フィールドを示す「理由」フィールドの横にアスタリスクが表示されます。
-
「保存」ボタンをクリックします。
保存する前に「理由」フィールドに値を入力しなかったため、エラー・メッセージが表示されます。
-
「理由」フィールドに「ラップトップが起動しています」と入力します。
-
「保存してクローズ」ボタンをクリックします。
ヘルプ・リクエストが保存されました。
条件付きでフィールドを更新可能にします
この例では、次の2つのカスタム・フィールドをヘルプ・リクエスト・オブジェクトに追加し、スクリプトを入力していずれかを条件付きで更新可能にします。
-
「エグゼクティブ・スポンサ・プログラム」チェック・ボックス
-
「エグゼクティブ・スポンサ」テキスト・フィールド
「エグゼクティブ・スポンサ」プログラム・チェック・ボックスが選択されている場合は、「エグゼクティブ・スポンサ」フィールドを更新できます。 それ以外の場合は、「エグゼクティブ・スポンサ」フィールドが無効になります。
これらのフィールドを作成し、そのいずれかを条件付きで更新可能にするには:
-
「アプリケーション・コンポーザ」にナビゲートします。
-
「カスタム・オブジェクト」を展開します。
-
「ヘルプ・リクエスト」を展開し、「フィールド」をクリックします。
-
「カスタム」タブで、 を選択します。
-
フィールド・タイプの選択ウィンドウで、「テキスト」を選択し、OKをクリックします。
-
「テキスト・フィールドの作成」ページで、「表示ラベル」に「エグゼクティブ・スポンサ」と入力します。
-
「保存してクローズ」をクリックします。
-
フィールド・ページで、カスタム・タブの下の を選択します。
-
フィールド・タイプの選択ウィンドウで、「チェック・ボックス」を選択し、OKをクリックします。
-
「テキスト・フィールドの作成」ページで、「表示ラベル」に「エグゼクティブ・スポンサ・プログラム」と入力します。
-
「保存してクローズ」をクリックします。
-
フィールド・ページで、「エグゼクティブ・スポンサ」リンクをクリックします。
チェック・ボックス・フィールドの編集: 「エグゼクティブ・スポンサ」ページが開きます。
-
制約リージョンで、「更新可能」チェック・ボックスを選択し、横にある式ビルダー・アイコンをクリックします。
式ビルダー・ダイアログが開きます。
-
(スクリプト)テキスト・ボックスに次のように入力します:
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") }
-
「OK」ボタンをクリックします。
-
制約リージョンで、「依存先」リストから「エグゼクティブ・スポンサ・プログラム」を選択します。
-
「保存してクローズ」ボタンをクリックします。
-
左ペインの「ヘルプ・リクエスト」で、「ページ」をクリックします。
ヘルプ・リクエスト: ページ・ページが開きます。
-
「要約フォームの編集」リンクをクリックします。
編集「詳細ページ要約フォーム」ページが開きます。
-
デフォルト・サマリーの構成リージョンで、「エグゼクティブ・スポンサ」および「エグゼクティブ・スポンサ・プログラム」フィールドを「選択したフィールド」ボックスに移動します。
「エグゼクティブ・スポンサ・プログラム」フィールドが「エグゼクティブ・スポンサ」フィールドの上にあることを確認します。 そうでない場合は、右側の上矢印または下矢印ボタンを使用してシーケンスを調整します。
-
「保存してクローズ」ボタンをクリックします。
-
ナビゲータ・メニューで、「ヘルプ・リクエスト」をクリックします。
-
リスト内のアクティブなヘルプ・リクエストをクリックすると、その編集ページが開きます。
-
「エグゼクティブ・スポンサ・プログラム」チェック・ボックスを選択し、「保存」ボタンをクリックします。
この時点で、「エグゼクティブ・スポンサ」フィールドに名前を入力できます。
-
ここで、「エグゼクティブ・スポンサ・プログラム」チェック・ボックスの選択を解除し、「保存」ボタンをクリックします。
「エグゼクティブ・スポンサ・プログラム」チェック・ボックスを選択していないため、「エグゼクティブ・スポンサ」フィールドに何も入力できません。
フィールドへの検証の追加
この例では、式を使用してフィールドに検証を追加します。 まず、企業Eメールというカスタム・テキスト・フィールドをヘルプ・リクエスト・オブジェクトに追加してから、検証を追加してEメール・アドレスの構文を確認します。
フィールドを作成して検証を追加するには:
-
「アプリケーション・コンポーザ」にナビゲートします。
-
「カスタム・オブジェクト」を展開します。
-
「ヘルプ・リクエスト」を展開し、「フィールド」をクリックします。
-
「カスタム」タブで、 を選択します。
-
フィールド・タイプの選択ウィンドウで、「テキスト」を選択し、OKをクリックします。
-
「テキスト・フィールドの作成」ページで、「表示ラベル」に「法人Eメール」と入力します。
-
「保存してクローズ」をクリックします。
-
左側のペインで、「ヘルプ・リクエスト」の下の「ページ」をクリックします。
ヘルプ・リクエスト: ページが開きます。
-
作成ページ・リージョンで、「作成ページの編集」をクリックします。
作成ページの編集がオープンします。
-
「構成の作成中」ページ・リージョンで、「法人Eメール」を「選択したフィールド」ボックスに移動します。
-
「保存してクローズ」ボタンをクリックします。
-
詳細ページ・リージョンで、「要約フォームの編集」をクリックします。
編集「詳細ページ要約フォーム」ページが開きます。
-
デフォルト・サマリーの構成リージョンで、「法人Eメール」を「選択したフィールド」ボックスに移動します。
-
「保存してクローズ」ボタンをクリックします。
-
左側のペインで、「ヘルプ・リクエスト」の下の「サーバー・スクリプト」をクリックします。
-
「検証ルール」タブで、フィールド・ルール・リージョンの下の を選択します。
-
「フィールド検証ルールの作成」ページで次の値を指定します:
フィールド名
値
フィールド名
法人Eメール
ルール名
CheckValid
エラー・メッセージ
企業Eメールの構文が無効です。 電子メール・アドレスの有効な構文を入力
-
スクリプトのテキスト・ボックスに、次のように入力します:
newValue == null || newValue ==~ /[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})/
-
「保存してクローズ」ボタンをクリックします。
-
ナビゲータ・メニューで、「ヘルプ・リクエスト」をクリックします。
-
リスト内のアクティブなヘルプ・リクエストをクリックすると、その編集ページが開きます。
-
「法人Eメール」フィールドにmhoope.oracle.comと入力します。
-
「保存」ボタンをクリックします。
電子メール・アドレスに適切な構文がないため、指定したエラー・メッセージが表示されます。
-
「法人Eメール」フィールドにmhoope@oracle.comと入力します。
-
「保存」ボタンをクリックします。
電子メール・アドレスの有効な構文を入力した後、ヘルプ・リクエストを保存できるようになりました。