2014-02-18 3 views
1

나는 을 writting ScheduleBatch 정점 클래스의 도움이 필요

Ticket__c이 경우에 조회를 가지고 있으며, 경우 많은 수 두 개체

  1. 케이스
  2. 에 Ticket__C을 schedulebatch 정점 클래스를 작성해야 티켓 레코드가 있지만 티켓은 하나의 사례 레코드에만 연결될 수 있습니다.

    일괄 Apex 클래스는 매일 오전 2:00에 실행되어야하며 두 개체의 두 필드 (상태)를 확인해야합니다. Batch Apex shouls는 모든 사례와 사례와 관련된 모든 티켓을 살펴 봅니다.

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

    예 :이 경우는 3 Ticket_ C 레코드와 연관 사건의 상태가 개방되어 있지만, 2 개 _c 레코드의 상태가 제 레코드를 폐쇄하지 않는 경우. 아무것도 하지마. 모든 Ticket_ 레코드의 상태가 특정 사례 레코드에 대해 닫힌 것으로 설정되었지만 사례 레코드 상태 자체가 아직 열려있는 경우 티켓_c 레코드 상태가 닫힌 후 7 일 후에 사례를 닫습니다. (비즈니스가 특정 케이스에 티켓을 추가하려는 경우 케이스 상태가 닫히지 않았기 때문일 수 있기 때문입니다.)

    중 개체와 그 필드를 초기화하거나 사람이 많은

    을 이해할 수있을 것이다 작성하거나 코드를 작성하는 나를 인도 할 수 있다면 당신에게

답변

1

감사 방법 당신은 할 필요가 없습니다 수에서 어떤 도움을 당신의 코드 핸들 배치; 스케줄링만으로 충분할 수도 있습니다. 작업을 완료하는 데 필요한 SOQL 쿼리 또는 DML 문 수에 따라 다릅니다. 하나의 SOQL 쿼리로 많은 레코드를 얻을 수 있고 하나의 DML 문으로 많은 레코드를 저장할 수 있습니다.

클래스를 스케줄 가능하게 만들려면 Schedulable 인터페이스를 구현하거나 System.scheduleBatch를 호출해야합니다. 여기 에이펙스는 스케줄 만들기에 대한 자세한 내용은 다음과 같습니다

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

여기에 너무 스케줄 및 batchable의 코드의 예입니다. 좀 더 복잡하지만 더 많은 레코드를 처리해야하는 경우 필요할 수도 있습니다.

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

나는 이러한 예는 당신에게 유용 바랍니다.