Groovyスクリプトを使用するためのベスト・プラクティスは何ですか。
Groovyスクリプトのベスト・パフォーマンスのために、いくつかのベスト・プラクティスおよび推奨事項に従うことができます。 ここでは、よくある質問に基づいて、いくつかのベスト・プラクティスについて説明します。
-
メイン・ラインに公開する前に、必ずサンドボックスを使用して変更をテストしてください。
-
サンドボックスを公開するときは、警告を確認し、無視しないでください。 サンドボックスを公開すると、警告によってエラーが発生する可能性があります。
-
setAttribute()を使用して属性値を設定する場合は常に、if文を追加して終了条件を確認します。 それ以外の場合は、「Post threshold limit reached」と表示されることがあります。 まだ転記されていないエンティティがあります。」エラー。たとえば:
if(AttributeA != valueA) setAttribute('AttributeA', valueA) -
setAttributeValues()を使用して、コンポジット・キーまたは関連する属性値を設定します。 たとえば:setAttributeValues(['ReasonWonLostCode','ReasonWonLostCodeSetId'], [xxx,0]) setAttributeValues(['DecisionLevelCode','DecisionLevelCodeSetId'], [xxx,0]) -
NameValuePairsを使用して行を作成します。 たとえば、商談オブジェクトから商談パートナ行を作成するには、次に示すようにIDを割り当てることができます。
def nvp = new oracle.jbo.NameValuePairs() nvp.setAttribute("OptyId", OpId); nvp.setAttribute("PartOrgPartyId", partOrgId); nvp.setAttribute("RevnId", primaryRevnId); def OptyPartner = getAttribute('RevenuePartnerPrimary') def vOP = OptyPartner.createAndInitRow(nvp) -
Groovyロジックの「名前」フィールドのかわりに、IDフィールドを使用します。
たとえば、SalesStageが「名前」フィールドの場合、表示目的でのみ使用する必要があります。 ユーザー・セッション言語でわかりやすい名前を返します。 かわりに、SalesStageIdを使用します。
別の例として、動的選択リストBuilding_cを使用しているとします。名前isAttributeChanged('Building_c')のかわりにisAttributeChanged('Building_Id_c')を使用します。
-
標準ロジックを上書きする必要がないかぎり、After*トリガーのかわりにBefore*トリガーを使用するとパフォーマンスが向上します。