Salesforce 通过从Dataraptor加载中获取CSV数据,使用Omniscript向对象插入一条记录
我是vlocity的新手,我对交给我的任务非常迷茫,我不确定我的行为是否正确,但我制作了一个apex代码来插入记录,我使用DRId_附件作为从Dataraptor附加的CSV Id。请参见下面的代码:Salesforce 通过从Dataraptor加载中获取CSV数据,使用Omniscript向对象插入一条记录,salesforce,apex,Salesforce,Apex,我是vlocity的新手,我对交给我的任务非常迷茫,我不确定我的行为是否正确,但我制作了一个apex代码来插入记录,我使用DRId_附件作为从Dataraptor附加的CSV Id。请参见下面的代码: global class getCsv implements vlocity_cmt.VlocityOpenInterface { global Boolean invokeMethod(String methodName, Map<String,Object> inp
global class getCsv implements vlocity_cmt.VlocityOpenInterface {
global Boolean invokeMethod(String methodName, Map<String,Object> inputMap, Map<String,Object> outputMap, Map<String,Object> options){
Boolean success = true;
try{
if(methodName.equals('insertRecord')){
insertRecord(inputMap,outputMap);
}
} catch(Exception e){
success = false;
}
return success;
}
global static void insertRecord(Map<String,Object> inputMap, Map<String,Object> outputMap){
String[] filelines = new String[]{};
String attachmentId = String.valueOf( inputMap.get('DRId_Attachment') );
Attachment att = [SELECT Body FROM Attachment WHERE id = :attachmentId];
System.debug( '##### att.Body: ' + att.Body );
List<Asset> testObject = new List<Asset>();
filelines = (att.Body).toString().split('\n');
System.debug( '##### filelines: ' + filelines );
System.debug( '##### filelines.size(): ' + filelines.size() );
for(Integer i=1;i<filelines.size();i++){
String[] inputvalues = new String[]{};
inputvalues = filelines[i].split(',');
System.debug( '##### inputvaluess: ' + inputvalues );
Asset test = new Asset();
test.Name = inputvalues[0];
System.debug( '##### inputvalues[0]: ' + inputvalues[0] );
testObject.add( test );
}
Insert testObject;
}
}