Apex インスタンスメソッドの呼び出しのサンプル

環境
Salesforce

概要
trigger TriggerName on ObjectName (trigger_events) {
code_block
}
trigger_events には、次のイベントを 1 つ以上含むカンマ区切りのリストを指定できます。
trigger myAccountTrigger on Account (before insert, before update) {
// コード
}
トリガーのコードブロックに、static キーワードを指定することはできません。
トリガーには、内部クラスに適用できるキーワードのみを含めることができます。

操作例
1.商談商品作成時にClassの定義

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public class OpportunityLineItemTriggerHandler {
public OpportunityLineItemTriggerHandler() {
}
//商談の見積備考を更新
public void updateOpportunity(List<OpportunityLineItem> oppLineItemList) {
//処理コード
}
}
public class OpportunityLineItemTriggerHandler { public OpportunityLineItemTriggerHandler() { } //商談の見積備考を更新 public void updateOpportunity(List<OpportunityLineItem> oppLineItemList) { //処理コード } }
public class OpportunityLineItemTriggerHandler {
    public OpportunityLineItemTriggerHandler() {    
    }    
    
    //商談の見積備考を更新
    public void updateOpportunity(List<OpportunityLineItem> oppLineItemList) {       
    //処理コード    
    }    
}

2.商談商品作成時にTriggerの定義

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
trigger OpportunityLineItemTrigger on OpportunityLineItem (after insert) {
OpportunityLineItemTriggerHandler handler = new OpportunityLineItemTriggerHandler();
if (Trigger.isAfter) {
if (Trigger.isInsert) {
//商談の見積備考を更新
handler.updateOpportunity(Trigger.new);
}
}
}
trigger OpportunityLineItemTrigger on OpportunityLineItem (after insert) { OpportunityLineItemTriggerHandler handler = new OpportunityLineItemTriggerHandler(); if (Trigger.isAfter) { if (Trigger.isInsert) { //商談の見積備考を更新 handler.updateOpportunity(Trigger.new); } } }
trigger OpportunityLineItemTrigger on OpportunityLineItem (after insert) {  
OpportunityLineItemTriggerHandler handler = new OpportunityLineItemTriggerHandler();
    if (Trigger.isAfter) {
        if (Trigger.isInsert) {
            //商談の見積備考を更新
            handler.updateOpportunity(Trigger.new);
        }
    }
}

 

IT

Posted by arkgame