// 결과 객체 생성
SBLS.DataSourceService.Result result = new SBLS.DataSourceService.Result();
// 리스트 개체와 데이터소스 매핑
for (String productCode : inventoryData.keySet()) {
SBLS.DataSourceService.Action action = new SBLS.DataSourceService.Action();
action.setKeyValue(productCode); // 리스트 레코드와 매핑할 Key 값 설정
action.putSourceToTargetField(
inventoryData.get(productCode), // 데이터소스 값: 재고 정보
'SBLS_Virtual1' // 리스트 가상 열 API명
);
result.addAction(action); // Action 추가
}
4
반환
매핑된 결과를 담은 Result 객체를 반환하여, 리스트에 매핑 정보를 전달합니다.
🔸 SBLS.DataSourceService.Parameter
리스트의 정보를 가진 객체입니다. 빌더에서 선택한 필드의 값만 담겨있습니다.
예시 코드
global SBLS.DataSourceService.Result execute(SBLS.DataSourceService.Parameter params) {
List<SObject> records = params.gets();
...
}
Method
List<SObject> gets()
검색된 레코드를 반환합니다. 빌더에서 추가한 파라미터가 없는 경우, 값은 비어 있습니다.
🔸 SBLS.DataSourceService.Result
리스트와 데이터소스 간의 모든 매핑 정보를 담아 리스트로 반환하는 객체입니다. 매핑 정보는 SBLS.DataSourceService.Action 객체에 저장한 뒤, SBLS.DataSourceService.Result 객체에 추가하여 반환합니다.
예시 코드
DataSourceInventory.cls
...
SBLS.DataSourceService.Result result = new SBLS.DataSourceService.Result();
for(String productCode : inventoryData.keySet()) {
// SBLI.DataSourceService.Action 객체에 매핑 정보 저장
SBLS.DataSourceService.Action action = new SBLS.DataSourceService.Action();
action.setKayValue(productCode);
action.putSourceToTargetField(
inventoryData.get(productCode),
'SBLS_Virtual1'
);
result.addAction(action); // 매핑 정보가 담긴 Action을 Result에 추가
}
return result;
SBLS.DataSourceService.Result result = new SBLS.DataSourceService.Result();
// 데이터소스에서 각 제품코드와 재고 정보를 반복 처리
for(String productCode : inventoryData.keySet()) {
SBLS.DataSourceService.Action action = new SBLS.DataSourceService.Action();
// 제품코드를 Key 값으로 설정하여 조회/라인 아이템과 매핑
action.setKayValue(productCode);
// 재고 정보를 조회/라인 아이템의 Inventory__c 필드에 매핑
action.putSourceToTargetField(
inventoryData.get(productCode), // 데이터소스 값: 재고
'SBLS_Virtual1' // 가상 열 API명
);
result.addAction(action); // 매핑 정보 추가
}
return result; // 최종 결과 반환