编写ScheduleBatch apex类需要帮助

时间:2014-02-18 16:11:39

标签: salesforce apex-code

我必须在两个对象上编写一个schedulebatch apex类

  1. 案例
  2. Ticket__C
  3. Ticket__c具有查找案例,案例可以有多个票证记录,但票证只能与一个案例记录相关联

    Batch Apex类应该每天凌晨2:00运行,并查看两个对象中的两个字段(Status)。 Batch Apex shouls查看所有案例以及与案例相关的所有门票。

    Case       -    Status (Field)
    Ticket__c  -    GLOBAL_Ticket_Status__c (Field)
    

    例如:如果案例与3个Ticket_ c记录相关联且案件的状态已打开,但2个票据 _c记录的状态已关闭,而不是第三个记录。不要做任何事情。 如果针对特定案例记录将所有Ticket_ c记录的状态设置为已关闭但案例记录状态本身仍处于打开状态,则在Ticket _c记录状态关闭7天后关闭案例。 (这是因为如果企业想要为该特定案例添加票证,他们可以仅因为案件状态未关闭)。

    有关如何初始化对象及其字段的任何帮助,或者是否有人可以编写或指导我编写代码,将非常感谢

    谢谢

1 个答案:

答案 0 :(得分:1)

您可能不需要让代码处理批次;仅仅使它可以调度就足够了。这取决于完成工作所需的SOQL查询或DML语句的数量。请记住,您可以使用一个SOQL查询获取许多记录,并使用一个DML语句保存许多记录。

要使类可调度,您必须实现Schedulable接口或调用System.scheduleBatch。有关在此处制定Apex可调度的更多详细信息:

http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_scheduler.htm

以下是重新分配帐户所有者的完整批处理示例:

http://developer.force.com/cookbook/recipe/using-batch-apex-to-reassign-account-owners

这是一个可调度和可配置的代码示例。它有点复杂,但如果你需要处理更多记录,你可能会发现它是必要的。

http://cloudforce4u.blogspot.com/2013/07/batch-apex-example.html

我希望这些例子对你有用。