2017-08-28 20 views
0

私は​​オブジェクトから完全なデータを削除する必要があるシナリオを持っています。salesforce.comからデータを削除する方法は?

これを達成するには、まず、そのオブジェクトからのすべてのIDをフェッチし、.csv形式のファイルに保存します。データがファイルにアップロードされたら、バッチを使用してレコードごとにレコードを削除する必要があります。

オブジェクトに対してクエリを実行してデータを.csvに保存できますが、データを削除する際にエラーが発生することがあります。

Message    : null (java.nio.BufferUnderflowException). 
    Element    : /batch-delete-genericFlow/processors/3 @ apl-sfa-batch-interface-v44:batch-delete-all.xml:48 (Transform Message) 
    -------------------------------------------------------------------------------- 
    Exception stack is: 
    null (java.nio.BufferUnderflowException). (org.mule.api.MessagingException) 
     java.nio.Buffer.nextGetIndex(Buffer.java:500) 
     java.nio.HeapCharBuffer.get(HeapCharBuffer.java:135) 
     com.mulesoft.weave.reader.UTF8StreamSourceReader.decode$1(SeekableStreamSourceReader.scala:147) 
     com.mulesoft.weave.reader.UTF8StreamSourceReader.read(SeekableStreamSourceReader.scala:167) 
     com.mulesoft.weave.reader.csv.parser.StreamingCSVParser.read(StreamingCSVParser.scala:61) 
     (66 more...) 

     (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) 
******************************************************************************** 

PFBは、バッチコードコードを削除します。

<batch:job name="batch-delete-genericBatch" max-failed-records="-1"> 
     <batch:input> 
      <enricher target="#[flowVars['jobInfo_delete']]" doc:name="Enricher jobId"> 
       <sfdc:create-job config-ref="SFA_MSBI" type="#[flowVars.sObjectName]" concurrencyMode="Serial" contentType="CSV" operation="delete" doc:name="Create Job"/> 
      </enricher> 
      <expression-component doc:name="Save Job ID"><![CDATA[sessionVars.jobInfo_delete = flowVars.jobInfo_delete.id 
]]></expression-component> 
     </batch:input> 
     <batch:process-records> 
      <batch:step name="Batch_Step" > 
       <batch:commit doc:name="Batch Commit" size="5000"> 
        <processor-chain doc:name="Processor Chain"> 
         <dw:transform-message metadata:id="df884737f2bc" doc:name="Transform Message"> 
          <dw:set-payload><![CDATA[%dw 1.0 
%output application/java 
--- 
payload map { 
    Id: $.Id 
}]]></dw:set-payload> 
         </dw:transform-message> 
         <sfdc:create-batch config-ref="SFA_MSBI" doc:name="Salesforce"> 
          <sfdc:job-info ref="#[flowVars.jobInfo_delete]"/> 
          <sfdc:objects ref="#[payload]"/> 
         </sfdc:create-batch> 
        </processor-chain> 
       </batch:commit> 
      </batch:step> 
     </batch:process-records> 
     <batch:on-complete> 
      <async doc:name="Async"> 
       <sfdc:close-job config-ref="SFA_MSBI" jobId="#[sessionVars.jobInfo_delete]" doc:name="Salesforce"/> 
      </async> 

     </batch:on-complete> 
    </batch:job> 

を教えてください。

答えて

0

いくつかの値でエラーが発生しているようです。 いくつかの文脈を持つためにコードを投稿してください。 以下に、SFOを削除するための適切な方法を示します。バッチ処理を使用して行われ、削除コードを更新

<sfdc:delete config-ref="mySalesforceConfig"> 
    <sfdc:ids> 
     <sfdc:id>001...</sfdc:id> 
    </sfdc:ids> 
</sfdc:delete> 

http://mulesoft.github.io/salesforce-connector/8.3.1/apidocs/apidoc.html#_delete

+0

。 – Thiru

関連する問題