본문 바로가기

Salesforce

[APEX] Object Insert 하기전에 다른 Object에 Insert하기전의 정보를 넣고 싶을때!(External Id 활용)

코드를 작성하다보면 새로 Insert 시켜야하는 값들을 이미 생성된 Object의 레코드에서 Lookup 으로 업데이트 시켜줘야하는 경우가 있다.

insert 후에 다시 돌려서 update list를 만들어서 할 수도 있지만, external Id를 만들어서 사용하면 더욱 편리하다!!!

 

Test Object = insert 하는애   

upt Object = Test Object의 Id가 필요한 애

 

UptId가 Test Object의 ExternalId다.

....
..
Test test = new Test();
test.UptId = testMap.get(checkKey).Id;  //external Id (key)로 지정된 값 넣어주기
TestItemList.add(test);

Upt upt = new Upt();
upt.Test__c = new Test__c(UptId = testMap.get(checkKey).Id); //insert 후에 자동연결됨
updateOppScheduleList.add(oppScheduleItem);
.
.
..
insert TestItemList;
update uptItemList;