Salesforce에서 External Object는 Salesforce 조직 외부에 있는 데이터를 Salesforce 내에서 조회할 수 있도록 하는 매커니즘이다. External Object는 외부 데이터 소스의 테이블을 나타내며, Salesforce에서는 이 테이블을 가상으로 만들어 Salesforce 데이터베이스에 저장된 것처럼 취급한다.
External Object 는 쿼리할때 __x 를 붙인다 .
ex ) select id from Example__x
External obj는 제약사항이 많아 개발하기 매우힘들다......
External Object 제약사항
1. 우선적으로 세일즈포스의 핵심인 Trigger 가 안된다.
2. 스탠다드 기능인 승인프로세스가 안된다.
3. External Obj > Detail 화면에서 button 을 LWC 로 만들었다면, LWC 호출이 안된다
( Aura 로 한번 감싸고 LWC를 호출해줘야 한다. )
4. LWC 에서 editform 을 썼다면 , editform이 안먹는다 .
<lightning-record-edit-form
object-api-name={objectApiName}
record-id={recordId}
>
5. lightning app builder > 관련목록-단일 동적으로 만든것은 뜨지 않는다. (기본만 적용됨)
지금까지 개발하면서 발견된 제약사항은 위와 같은데 추가적으로 무궁무진하게 더 있을것 같다는 예상이 든다.
결론은 External Obj는 단순 조회용으로만 사용되어야하고, DML 이 발생하는 복잡한 로직적용은 지양하는게 현명하다 ^^....