Salesforce Apex の始めかた
Salesforce Apexは クイックスタート を見ればHello World
できる。
必ずどうなってもいいSandboxで作業すること!
まずはApexクラスを作成する
- 設定のホーム画面で検索窓に「Apex」を入力して「Apex クラス」を選択
- 「新規」をクリック
- 以下のコードをエディターにコピペ
- 「Save」をクリックして保存
どうなってもいいリードの項目名
について、FirstName
を使ってみる。
MyHelloWorld
public class MyHelloWorld {
public static void ChangeNameToHelloWorld(Lead[] LeadList) {
for (Lead l :LeadList){
l.どうなってもいいリードの項目名 = 'Hello World!';
}
}
}
次にトリガーを用意
- 設定 > オブジェクトマネージャー > リード を開く
- 左の「トリガー」を選択し「新規」をクリック
- 以下のコードをエディターにコピペ(元のコードは削除)
- 「Save」をクリックして保存
今回はLead (before update)
によって、リードレコード更新時に起動させる。
トリガーはこの記事がとても分かりやすい:トリガ基礎
HelloWorldTrigger
trigger HelloWorldTrigger on Lead (before update) {
Lead[] updateLeadList = Trigger.new;
MyHelloWorld.ChangeNameToHelloWorld(updateLeadList );
}
どうなってもいいリードレコードを更新してみる
- 名前に「Hello World!」が代入されていればOK
- なんか間違っている場合は保存するときにエラーが出る
- 保存できたけど名前が書き換わっていない場合、トリガーかクラスが機能していない
テストクラスを用意する
作ったApexクラスとトリガーをSandbox環境への影響なく、テストランできるのがテストクラス、なのでリードレコードを更新する前に本来はやるべき
- 「Apex クラス」から「新規」をクリック(2回目)
- 以下のコードをエディターにコピペ
- 「Save」をクリックして保存
テストクラスの頭に@IsTest
付けてねって開発者ガイドで言われてます。
HelloWorldTestClass
@IsTest
private class HelloWorldTestClass {
@IsTest
static void validateHelloWorld() {
// ここに新規レコード作成やレコード更新処理を書く(力尽きた)
}
}