2012-06-14 5 views
1

나는 apex 스케줄러에 큰 문제가 있습니다. 내가 스케줄러를 실행하려고 할 때 난 항상이 오류 메시지가 얻을했습니다
global class updateData implements Schedulable { global void execute (SchedulableContext SC) { DataContact dContact = new DataContact(); dContact.UpdateContact(); } }Apex Scheduler Salesforce, 실행 오류

감사 :

이 코드 예제는 "글로벌 형이 전역 클래스의 내부에 포함되어 있어야합니다!"

제이 개발자 콘솔 내부에이 코드를 실행하려고하는 것 같습니다

답변

1

. 개발자 콘솔은 전역 클래스 만들기를 실제로 지원하지 않습니다. 즉, 내부 클래스는 Schedulable 인터페이스를 구현할 수 없습니다. 당신은 다음과 에이 클래스를 만들어야합니다 DataContact에 대한 호출을 예약 할 스케줄 객체를 생성하려는 경우

DataContact dc = new DataContact(); 
dc.updateContact(); 

: 당신은 그냥 익명으로 UpdateContact를 호출하려는 경우, 당신은 단순히 개발자 콘솔에이를 입력 할 수 있습니다 게시 한 코드를 작성한 다음 Apex 클래스 페이지의 '스케줄 Apex'버튼을 사용하여 스케줄하십시오.

+0

사실 저는 Apex 클래스를 실행하기 위해 Soql 탐색기를 사용했습니다. Salesforce에서 스케줄러 apex 클래스 (updateData)를 만들었으며 DataContact 클래스도 만들었습니다. 이 DataContact 클래스에는 새로운 연락처를 내 연락처 목록에만 삽입하는 하나의 메소드 updateContact()가 있습니다. 귀하의 회신 해 주셔서 감사합니다 .. 어쩌면 어떤 생각? – Jay

+0

@Jay Soql Explorer는 개발자 콘솔과 마찬가지로 전역 클래스를 허용하지 않는 'Anonymous Apex'입니다. 그들은 모두 같은 제한을 공유합니다. UpdateData 클래스를 예약하려는 경우 'Apex 예약'버튼을 사용하여 UI를 통해 수행하거나 정교한 타이밍 요구 사항이있는 경우 여기에 설명 된 익명의 정점에서 'System.schedule'을 호출하여 수행 할 수 있습니다. http : //www.salesforce.com/us/developer/docs/apexcode/Content/apex_scheduler.htm. –

+0

Apex 클래스의 "스케줄 Apex"버튼을 클릭하여 UI를 통해 스케줄러를 실행했지만 아무것도 생성하지 않았습니다. 어떤 설치 프로그램이 실제로 스케줄러를 작동 시키는데 필요합니까? – Jay

관련 문제