2014-12-09 4 views
0

이것은 Apex에서의 내 주먹 시간입니다. 내가 뭘 하려는지는 날짜 필드 Contract_Expiration__c를 읽고 pdate_active_status_text__c를 null, active 또는 void로 설정하는 것입니다.새로운 Apex 클래스를 생성하여 필드를 활성 또는 비활성으로 업데이트하십시오.

어떤 도움도 좋은 것입니다. 미리 감사드립니다.

public class update_active_status { 
    public static String saveData(){ 
     for (Account a : [SELECT Id FROM Account WHERE CreatedDate > 2000-01-16T10:00:00-08:00]){ 
       if (a.Contract_Expiration__c == null){ 
        a.update_active_status_text__c = null; 
        update a; 
       } else if (a.Contract_Expiration__c >= Date.today().addDays(60)) { 
       a.update_active_status_text__c = 'Active'; 
        update a; 
       } else { 
       a.update_active_status_text__c = 'Void'; 
       update a; 
       }  
     } 
    } 
} 

답변

1

당신은 일을하는 방법의 순서를 수정/쿼리에 확인하기 위해 필드를 추가해야합니다

또한
[SELECT Id, Contract_Expiration__c, update_active_status_text__c FROM Account WHERE CreatedDate > 2000-01-16T10:00:00-08:00] 

이 방법은 문자열을 반환해야 (그러나 컴파일러는 불평한다 이미 그것에 대해).

마지막으로 주어진 날짜에서 생성 된 모든 계정을 선택하는 방식은 장기적으로 좋지 않습니다.

+0

답장을 보내 주셔서 감사합니다. 장기 금메달에 날짜가 아닌 계정 유형을 사용하는 것에 동의합니다. 컴파일러가 불평하고있는 것이 맞습니다. "비 void 메서드는 값을 반환하지 않거나 return 문 다음에 명령문을 포함 할 수 있습니다." – DoubleA9281

+0

@ DoubleA9281 언제든지 환영합니다. 유용하다고 판단되면 해결책으로 표시하십시오. – geekymartian