본문 바로가기
  • No matter what, Just Keep going!

Salesforce Home10

Batch Class를 불러봐요. (Invoking a Batch Class) 앞에서, 이미 아래와 같은 Batch Apex 클래스 (MyBatchClass)를 만들어 두었어요.public class MyBatchClass implements Database.Batchable { public Database.QueryLocator start(Database.BatchableContext bc) { ... } public void execute(Database.BatchableContext bc, List scope) { ... } public void finish(Database.BatchableContext bc) { ... }} 실제로 배치를 실행하려면, 어떤 시점에서 Database.executeBatch(...)를 호출해야 합니다. 호출은 개발자 콘솔, A.. 2025. 5. 25.
대량 데이터 처리는 Batch Apex로 Batch Apex란 무엇인가요?Salesforce에서 한 번에 아주 많은 데이터를 처리해야 할 때, 보통 방법으로는 한계가 있어요. 예를 들어, 수천 개, 수백만 개의 데이터를 정리하거나 백업해야 할 때는 Batch Apex가 필요해요.Batch Apex는 말 그대로 데이터를 "묶음(batch)" 단위로 나눠서 순차적으로 처리하는 방식이에요. 이렇게 하면 Salesforce 시스템이 정한 처리 한도(Governor)를 넘지 않으면서도 많은 양의 데이터를 안전하게 처리할 수 있어요. Batch Apex는 언제 유용할까요?고객 데이터를 정리할 때 (예: 오래된 기록 삭제)시스템 간 데이터 이관이나 업데이트가 필요할 때대용량 보고서 생성을 위해 데이터를 가공할 때 어떻게 작동하나요?예를 들어, 100만 개의.. 2025. 5. 25.
비동기 방식의 Apex 이해하기 비동기 방식이란?"사용자나 시스템이 기다리지 않고, 백그라운드에서 자동으로 일 처리를 해주는 방식"입니다.예를 들어, 고객이 버튼을 눌러 주문을 요청했을 때,바로 응답을 보여주고실제 주문 처리(결제, 재고 확인 등)는 백그라운드에서 순차적으로 처리되도록 하는 방식입니다.왜 비동기 방식이 필요할까요?데이터가 많거나 외부 시스템과 통신이 필요한 경우엔, 사용자가 기다리지 않도록 Background에서 자동으로 처리되는 '비동기 방식'이 필요합니다. Salesforce는 이렇게 처리하는 4가지 방식의 비동기 apex가 있습니다. 즉, 비동기 방식 Apex는 작업량을 나눠서 처리하거나, 정해진 시간에 반복하거나, 외부 시스템과 통신할 떄 사용됩니다. Flow는 간단한 자동화에는 좋지만, 데이터 처리량이 많거나 .. 2025. 5. 25.
무조건 만들어야 하는 APEX Test Code! Salesforce에서는 Apex 코드를 프로덕션에 배포하기 위해 반드시 테스트 코드를 작성해야 해요.✅ 왜냐하면Production 배포 요건Apex 코드는 Production에 배포할 때 전체 Apex 코드의 커버리지가 75% 이상이어야 합니다.트리거도 예외 아님Apex Trigger는 하나라도 0% 커버리지가 있으면 배포가 거절됩니다.패키지 배포도 동일AppExchange 패키지로 고객에게 배포할 경우에도 테스트 코드가 필수입니다.Test Class 없이 작성된 Apex는 절대 배포 불가무조건 @isTest 테스트 클래스를 함께 작성해야 해요. ✅ 그래서 미리 샌드박스에서 테스트 코드를 미리 작성해두면 좋답니다.Production 배포 전에 커버리지 확인 가능QA 테스트를 사전에 검증할 수 있어 .. 2025. 5. 19.
대량 데이터 처리를 위한 Apex Trigger 사용해보기! 1. 왜 "Bulk Trigger"를 사용할까요?Salesforce에서는 한 번에 많은 데이터를 저장하거나 수정할 수 있어요. 특히, API 연동을 통해서 외부 시스템으로 부터 데이터를 한번에 가져와서 200개의 레코드를 저장하는 경우, 트리거도 그 200개를 한 번에 처리하게 됩니다.이때 트리거가 한 건씩만 처리하도록 되어 있으면 시스템에 과부하가 걸려요.그래서 세일즈포스에서는 "Bulk 처리"라고 하는 방법을 사용해요.한번에 여러 개의 레코드를 처리하는 방식입니다. 2. 대량 레코드 처리를 위해 Trigger.new를 반복문으로 사용하는 이유 trigger MyTriggerBulk on Account (before insert) { for (Account a : Trigger.new) { .. 2025. 5. 18.
초보자도 이해하는 Apex 트리거 문법 이해하기 Apex 트리거는 Salesforce에서 특정 이벤트(예: 레코드 생성, 수정, 삭제)가 발생할 때 자동으로 실행되는 코드입니다.Flow에서 사용하고 있는 Record-Triggered Flow와 유사한 개념으로 이해하시면 편합니다.차이점은, Flow는 개발자가 아닌 관리자도 쉽게 UI를 통해 구축할 수 있도록 설계되었다는 점입니다.따라서 단순한 조건 분기, 필드 업데이트, 알림 등의 작업은 Flow로 쉽게 처리할 수 있고,반대로 여러 객체를 동시에 다뤄야 하거나, 반복 처리, 외부 시스템 연동 같은 복잡한 작업은 Apex 트리거가 적합합니다.Salesforce는 최근 Flow를 중심으로 한 자동화로 전환하는 방향을 권장하고 있지만,여전히 Apex 트리거는 Flow로 대체할 수 없는 자동화 시나리오에 필.. 2025. 3. 16.
도메인만으로 중복 고객을 방지하는 마법 같은 방법 세일즈포스로 고객사를 관리할 때 중복 레코드는 어려운 숙제입니다. 이름만으로는 동일한 고객을 구별하기 어려우며, 사업자등록증이 없는 고객도 존재하기 때문에 이를 기준으로 중복을 방지하는 것도 한계가 있습니다. 하지만 자체 도메인을 보유한 고객이라면 도메인을 기준으로 중복을 방지할 수 있습니다.이러한 문제를 해결하기 위해 Salesforce Flow를 활용하여 웹사이트 도메인을 추출하고, 기존에 등록된 도메인과 비교하여 중복 등록을 방지하는 프로세스를 구축할 수 있습니다.사용 사례: 도메인을 활용한 중복 고객 방지고객사를 등록할 때, 고객의 웹사이트에서 도메인을 추출하여 기존 데이터베이스와 비교하는 자동화 시스템을 구현했습니다.시나리오:고객사가 등록될 때마다 담당자는 해당 회사의 웹사이트를 입력합니다.Fl.. 2025. 3. 16.
당신의 Flow 궁금증을 드랍하세요! James는 Salesforce Flow에 대해 당신과 함께 Knowledge를 나누고자 합니다. 당신이 Flow로 어떻게 구성해야할지 고민이라면, 함께 고민해봐요! 🧐 댓글로 비즈니스 시나오를 남겨주세요!비즈니스 시나리오를 설명해 주세요.어떻게 구현하고 싶은지, 또는 결과를 얻고 싶은지를 공유해 보세요.혹시, Flow를 구성했지만 원하는 결과를 얻지 못했다면 Flow 문제 부분을 알려주세요.예제) "Opportunity 가 Closed Won으로 변경될 때 고객에게 자동으로 Thank you 메일을 보내고 싶습니다.  James는 함께 고민하며, Salesforce Flow로 구현할 방법을 같이 고민해 드립니다. 2025. 3. 15.
SOQL을 사용할 때 주의할 점 2025.03.15 - [Flow 개념] - 3분 만에 이해하는 SOQL과 DML!🥵  한 번의 실행에서 최대 50,000개의 레코드만 조회할 수 있음 Salesforce에서는 한 번의 SOQL 실행 시 최대 50,000개의 레코드만 가져올 수 있습니다.즉, SELECT 문을 실행할 때 조회된 레코드 개수가 50,000개를 초과하면 오류가 발생합니다. 예제 (한도 초과하는 경우)Account 테이블에 100,000개의 데이터가 있으면 SOQL 쿼리 한도 초과 오류(Too many query rows: 50001)가 발생합니다.List accList = [SELECT Id, Name FROM Account]; // 💥 50,000개 이상이면 오류 발생!  😍 해결 방법 1. 필요한 데이터만 가져오기 .. 2025. 3. 15.
3분 만에 이해하는 SOQL과 DML! 솔직히 말씀드리자면, 저도 Flow를 처음 배우기 시작한 후 6개월 동안 DML이 무엇인지 제대로 몰랐습니다. 또한, SOQL 쿼리 한도(Query Limit)나 DML 한도(DML Limit)에 대해 신경 쓰지 않았고, 이것이 Flow 성능에 어떤 영향을 미치는지도 몰랐습니다.그 결과, 비효율적인 Flow를 몇 개 만들었을 수도 있습니다. 저와 같은 실수를 반복하지 않도록, 지금 SOQL과 DML에 대해 빠르게 배워봅시다! SOQL (Salesforce Object Query Language) 이란?SOQL은 Salesforce에서 🍎 데이터를 조회할 때 사용하는 쿼리 언어입니다. 쉽게 말해, Salesforce 데이터베이스에서 특정 정보를 검색하는 역할을 합니다. 예제: 이 쿼리는 모든 연락처(Co.. 2025. 3. 15.