Salesforce에 이미 존재하는 리드 및 연락처에 대한 특정 데이터 프라이버시 기본 설정 추적
스크립트를 사용하여 Salesforce에 이미 존재하는 리드 및 연락처에 대한 개별 개체를 기반으로 데이터 프라이버시 레코드를 만듭니다.
필수 Edition
| 지원 제품: Salesforce Classic 및 Lightning Experience 모두 |
| 지원 제품: 모든 Edition(파트너 및 고객 커뮤니티 사용자 포함) |
스크립트에서 각 리드 및 연락처에 대한 고유한 데이터 프라이버시 레코드를 만듭니다. 리드 및 연락처에 대한 데이터 프라이버시 레코드를 이미 보유하고 있는 경우 이 스크립트에서 중복 레코드를 만든다는 사실에 유념하십시오.
연락처에 대한 데이터 프라이버시 레코드 만들기
스크립트 실행 시 데이터 프라이버시 레코드를 만들고 Salesforce에 이미 존재하는 계약에 연결합니다.
global class CreateIndividualFromContact implements Database.Batchable<sObject> {
global Database.Querylocator start(Database.BatchableContext BC) {
//Query to fetch contacts that don't have Individual created. You may modify the query to add custom fields
//Please add "IsPersonAccount = false" condition to below query to exclude person accounts
return Database.getQueryLocator('Select FirstName, LastName, Salutation from Contact where IndividualId = NULL');
}
global void execute(Database.BatchableContext BC, List<Contact> contactList) {
Map<Id, Individual> individualRecordsToCreate = new Map<Id, Individual>();
for(Contact con : contactList) {
individualRecordsToCreate.put(con.Id, new Individual(FirstName = con.FirstName, LastName = con.LastName, Salutation=con.Salutation));
}
insert individualRecordsToCreate.values();
for(Contact con : contactList) {
con.IndividualId = individualRecordsToCreate.get(con.Id).Id;
}
update contactList;
}
global void finish(Database.BatchableContext BC) {}
}리드에 대한 데이터 프라이버시 레코드 만들기
스크립트 실행 시 데이터 프라이버시 레코드를 만들고 Salesforce에 이미 존재하는 리드에 연결합니다.
global class CreateIndividualFromLead implements Database.Batchable<sObject> {
global Database.Querylocator start(Database.BatchableContext BC) {
//Query to fetch non-converted Leads that don't have Individual created. You may modify the query to add custom fields
return Database.getQueryLocator('Select FirstName, LastName, Salutation from Lead where IsConverted = false and IndividualId = NULL');
}
global void execute(Database.BatchableContext BC, List<Lead> leadList) {
Map<Id, Individual> individualRecordsToCreate = new Map<Id, Individual>();
for(Lead l : leadList) {
individualRecordsToCreate.put(l.Id, new Individual(FirstName = l.FirstName, LastName = l.LastName, Salutation=l.Salutation));
}
insert individualRecordsToCreate.values();
for(Lead l : leadList) {
l.IndividualId = individualRecordsToCreate.get(l.Id).Id;
}
update leadList;
}
global void finish(Database.BatchableContext BC) {}
}이 기사를 통해 문제를 해결했습니까?
개선을 위한 의견을 보내주세요.

