ScheduleJobsApi クラス
拡張最適化に分類されるすべてのスケジュール済みジョブで利用可能な [テリトリー] タブの設定を表します。
名前空間
使用方法
この API は getJob と setTerritory の 2 つのメソッドを使用します。getJob はジョブを setTerritory に渡し、setTerritory は GroupData を介して territoryID と groupPolicyID をそのジョブに適用します。
ScheduleJobsApi のメソッド
ScheduleJobsApi には、次の静的メソッドが含まれます。
getJob
テリトリーを変更する setTerritory メソッドにスケジュール済みジョブを渡します。
シグネチャー
global static ScheduleJobsApi getJob(String jobName)
パラメーター
- jobName
- 型: String
- 必須。サービステリトリーで更新するジョブの名前。ジョブ名では大文字と小文字が区別されます。
戻り値
型: ScheduleJobsApi(validateJobId(jobId))
使用方法
このメソッドは、[テリトリー] タブを更新する setTerritory メソッドにジョブを渡します。例は setTerritory を参照してください。
setTerritory
getJob で返されたジョブのテリトリーを設定して、各種の検証チェックを実行します。
シグネチャー
public void setTerritory(List<GroupData> groupList)
パラメーター
- groupList
- 型: List<GroupData>
- 必須。ジョブに関連付けられるテリトリーとグループポリシーを表す GroupData オブジェクトのリスト。
戻り値
型: Void
使用方法
このメソッドは、スケジュール済みジョブの最適化されたテリトリーとスケジュールポリシーに基づいて [テリトリー] タブを設定します。スケジュール済みジョブの [テリトリー] タブを設定するコードの例を 2 つ示します。
例 1:
1String jobName = 'Optimization';
2
3List<FSL.ScheduleJobsApi.GroupData> groupList = new List<FSL.ScheduleJobsApi.GroupData>();
4
5FSL.ScheduleJobsApi.GroupData firstGroup = new FSL.ScheduleJobsApi.GroupData
6 ('a0cSM0000000fEU', new List<String>{'0HhSM0000000S5x', '0HhSM0000000TbV0AU'});
7
8FSL.ScheduleJobsApi.GroupData secondGroup = new FSL.ScheduleJobsApi.GroupData
9 ('0', new List<String>{'0HhSM0000000RbJ'});
10
11groupList.add(firstGroup);
12groupList.add(secondGroup);
13
14FSL.ScheduleJobsApi.GetJob(jobName).setTerritory(groupList);例 2:
1String jobName = "Optimization";
2
3// Get all service territory groups.
4List<YourGroupType> All_ST_GROUPS = getAllGroupsFromAnotherSource();
5
6List<FSL.ScheduleJobsApi.GroupData> groupList = new List<FSL.ScheduleJobsApi.GroupData>();
7
8for (Integer i = 0; i < All_ST_GROUPS.size(); i++) {
9 FSL.ScheduleJobsApi.GroupData groupData = new FSL.ScheduleJobsApi.GroupData(
10 All_ST_GROUPS[i].policyId,
11 new List<String> {
12 All_ST_GROUPS[i].territoryIds
13 }
14 );
15 // Add the created groupData to the list.
16 groupList.add(groupData);
17}
18
19FSL.ScheduleJobsApi.GetJob(jobName).setTerritory(groupList);