Batch Apex 사용하기 Database.Batchable 인터페이스를 상속받아 Batch Apex 사용 Batch Apex를 모니터링/멈추려면 Setup → Apex Jobs Database.Batchable 인터페이스 implement하기 Database.Batchable 인터페이스는 3개의 메소드가 필수로 포함되어야 함 : 1) start 메소드 2) execute 메소드 3) finish 메소드 1) start 메소드 : public (Database.QueryLocator) | Iterable) start(Database.BatchableContext bc) {} 인터페이스 메소드 execute에 전달할 레코드/객체를 수집하기 위해 batch Apex job의 시작 부분에서 start 메소드..
Apex Scheduler 특정한 시간에 Apex class 실행하기 1. Schedulable 인터페이스 implement 하기 2. Schedule Apex page 또는System.schedule 메소드 사용 Note Scheduled Apex job은 한 번에 100개만 가질 수 있음 Trigger를 사용하여 schedule을 계획할 때에는 scheduled class를 limit보다 더 많이 추가하지 않도록 유의하기 Apex class에 대해 active scheduled job이 하나 이상 있는 경우 Salesforce user interface를 통해 이 클래스 또는 이 클래스를 참조하는 클래스를 업데이트할 수 없음. Schedulable Interface 상속받기 Schedulable 인터..
Type Class : Apex class에 해당하는 Apex type을 가져오고 새 type을 인스턴스화하는 메소드를 포함한다 Namespace System 사용법 forName 메소드를 사용하여 기본 제공 클래스 또는 사용자 정의 클래스일 수 있는 Apex 클래스의 type을 검색. 위의 메소드를 사용하여 public&global class를 검색 O, context 사용자에게 액세스 권한이 있더라도 private class는 X newInstance 메소드를 사용하여 인터페이스를 구현하는 Type을 인스턴스화 하고, package subscriber와 같은 다른 사용자가 메소드의 구현을 제공하도록 허용하려면서 해당 메소드를 호출 O 예시 : Name을 기반으로 Type 인스턴스화 시나리오 Type ..
Apex Trigger란? 세일즈포스가 제공하는, 레코드 관리 위한 자동화 툴. 레코드 관리 서포트 프로세스 중심 로직 구축 더 강력함 Apex Trigger를 사용하면 insert, update, delete와 같은 세일즈포스 레코드에 대한 이벤트 전후에 custom action 수행 O 특정 조건에 따라 작업을 수행, 관련 레코드 수정, 특정 작업이 발생하지 않도록 제한 O SOQL, DML 실행, custom Apex 메소드 호출을 포함해 Apex에서 할 수 있는 모든 작업 O 세일즈포스 유저 인터페이스에서 Point-and-Click 도구를 사용해 수행할 수 없는 작업 O Account/Contact와 같은 top-level standard object, custom object, 일부 stand..
Lightning Platform 1. metadata-driven architecture에 의존 코드, 설정, 앱을 포함한 모든 것들이 metadata로 지정됨 2. 데이터베이스와 긴밀하게 통합됨 User interface, security, reporting과 같은 모든 종류의 기능이 Platform에 바로 내장되어 있음. 이 통합을 통해 앱을 매우 빠르게 구축 가능. 3. node 설정이나 관리 작업, Upgrading, Tuning, Scaling에 대해 걱정할 필요 X ASP.NET - Visualforce 유사점 코드에서 마크업이 명확하게 분리되어 있음 Form field를 사용하여 컨트롤러에 정의된 속성에 코드 매핑 HTTP가 stateless이기 때문에 Viewstate*가 ASP.NET과..
Class Class : Object가 생성되는 템플릿 / 청사진 모든 object에는 state와 behavior가 있음. (object가 자신에 대해 알고 있는 것 & object가 할 수 있는 것) Class에는 변수와 메소드가 포함될 수 있음 Interface : 어느 메소드도 구현되지 않는 클래스 Class를 정의할 때 지정하기 1. Access Modifiers : 최상위 클래스 선언에서 사용 ex. private, public, global ... 2. Definition Modifiers (optional) ex. virtual, abstract ... 3. Class 다음에 클래스명 4. Extensions and/or 구현 (optional) Syntax private | public ..
What is Apex? 개발자가 세일즈포스 서버에서 Flow, 트랜잭션 제어문을 실행할 수 있도록 지원하는 강력한 유형의 객체 지향 프로그래밍 언어. Apex 특징 1. Integration with DML Calls, APIs DML문 (INSERT, UPDATE, DELETE) 지원 & DML Exception 처리 SOQL, SOSL 지원, sObject/API 반환 2. Easy to use Java와 비슷. (ex. 변수, 표현식, 블록, 루프, 객체, 배열 ...) 3. Data Focused Apex는 여러 세일즈포스 서버에서 작업할 수 있도록 여러 쿼리, DML문을 단일 단위로 스레딩 하도록 설계됨. 개발자는 데이터베이스 저장 프로시저를 사용해 데이터베이스 서버의 여러 트랜잭션문을 비슷한..