機械翻訳について

Groovyスクリプトの使用のベスト・プラクティス

開始する前に、Groovyスクリプトの最適なパフォーマンスを得るための次のベスト・プラクティスと推奨事項に注意してください:

  • メイン・ラインに公開する前に、必ずサンドボックスを使用して変更をテストしてください。

  • サンドボックスを公開するときは、警告を確認し、無視しないでください。 サンドボックスを公開すると、警告によってエラーが発生する可能性があります。

  • setAttribute()を使用して属性値を設定する場合は常に、if文を追加して終了条件を確認します。 それ以外の場合は、「事後しきい値制限に達した」と表示されます。 まだ転記されていないエンティティがあります。」エラー。

    たとえば:

    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*トリガーを使用するとパフォーマンスが向上します。