Salesforce 通过从Dataraptor加载中获取CSV数据,使用Omniscript向对象插入一条记录

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

我是vlocity的新手,我对交给我的任务非常迷茫,我不确定我的行为是否正确,但我制作了一个apex代码来插入记录,我使用DRId_附件作为从Dataraptor附加的CSV Id。请参见下面的代码:

   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; 
    }
}