Apex アノテーション@InvocableVariableのサンプル

環境
Salesforce

InvocableVariable アノテーションについて
カスタムクラスで呼び出し可能なメソッドによって使用される変数を識別するには InvocableVariable アノテーションを使用します。
InvocableVariable アノテーションは、InvocableMethod メソッドの呼び出し可能なアクションの入力または出力パラメータとして使用される
クラス変数を識別します。
修飾子
・label:変数の表示ラベル。デフォルトは変数名です。
・description:変数の説明。デフォルトは Null です。
・required:変数が必須かどうか。指定されていない場合のデフォルトはfalseです。
使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public with sharing class GetDataFromCollection {
// フローやプロセスビルダーから呼び出し可能なメソッド
@InvocableMethod
public static List <Results> execute (List<Requests> requestList) {
List<SObject> inputCollection = requestList[0].inputCollection;
SObject outputMember = inputCollection[0];
//戻り値を保持する Results オブジェクトを作成する
Results response = new Results();
//戻り値をResultsオブジェクトに追加する
response.outputMember = outputMember;
//Results オブジェクトを List コンテナーでラップする
List<Results> responseWrapper= new List<Results>();
responseWrapper.add(response);
return responseWrapper;
}
}
public class Requests {
@InvocableVariable(label='Records for Input' description='入力コレクションの説明' required=true)
public List<SObject> inputCollection;
}
public class Results {
@InvocableVariable(label='Records for Output' description='出力メンバー' required=true)
public SObject outputMember;
}
}
public with sharing class GetDataFromCollection { // フローやプロセスビルダーから呼び出し可能なメソッド @InvocableMethod public static List <Results> execute (List<Requests> requestList) { List<SObject> inputCollection = requestList[0].inputCollection; SObject outputMember = inputCollection[0]; //戻り値を保持する Results オブジェクトを作成する Results response = new Results(); //戻り値をResultsオブジェクトに追加する response.outputMember = outputMember; //Results オブジェクトを List コンテナーでラップする List<Results> responseWrapper= new List<Results>(); responseWrapper.add(response); return responseWrapper; } } public class Requests { @InvocableVariable(label='Records for Input' description='入力コレクションの説明' required=true) public List<SObject> inputCollection; } public class Results { @InvocableVariable(label='Records for Output' description='出力メンバー' required=true) public SObject outputMember; } }
public with sharing class GetDataFromCollection {
   // フローやプロセスビルダーから呼び出し可能なメソッド
  @InvocableMethod
  public static List <Results> execute (List<Requests> requestList) {
    List<SObject> inputCollection = requestList[0].inputCollection;
    SObject outputMember = inputCollection[0];

    //戻り値を保持する Results オブジェクトを作成する
    Results response = new Results();

    //戻り値をResultsオブジェクトに追加する
    response.outputMember = outputMember;

    //Results オブジェクトを List コンテナーでラップする
    List<Results> responseWrapper= new List<Results>();
    responseWrapper.add(response);
    return responseWrapper;    
  }
}

public class Requests {
  @InvocableVariable(label='Records for Input' description='入力コレクションの説明' required=true)
  public List<SObject> inputCollection;
  }

public class Results {
  @InvocableVariable(label='Records for Output' description='出力メンバー' required=true)
  public SObject outputMember;
  }
}

 

Apex

Posted by arkgame