2016-08-25 4 views
0

xml(入力ファイル)のデータを開発者のsalesforceバージョンにマップしようとしています。Dataweaveを使用したsalesforceへのXMLのマッピング

入力ファイル:

<Z0DEBMAS>  
    <E1KNA1M SEGMENT="1">  
    <KUNNR>0030003926</KUNNR>  
    <NAME1>SAMS CLUB #6493</NAME1>  
    <VKORG>4571</VKORG>  
    </E1KNA1M>  
</Z0DEBMAS> 

Dataweaveコードミュールで:

<dw:transform-message doc:name="Transform XML to sfdc"> 
    <dw:set-payload><![CDATA[%dw 1.0 
%output application/java 
--- 
payload.Z0DEBMAS.*E1KNA1M map { 
    AccountNumber: $.KUNNR, 
    Name: $.NAME1, 
    Sales_Organization__c: $.VKORG 
    }]]></dw:set-payload>  
</dw:transform-message> 

私が唯一のエントリKUNNRとNAME1のためではなく、VKORGのための出力を取得しています、VKORのnull値を取得していますGを以下に示す。

ミュールコンソールの出力:以下

INFO 2016-08-25 12:30:06,169 [[xmltosfdc_realtime].xmltosfdc_realtimeFlow.stage1.02] org.mule.api.processor.LoggerMessageProcessor: **[{AccountNumber=0030003926, Name=SAMS CLUB #6493, *Sales_Organization__c=null*}]** 
INFO 2016-08-25 12:30:09,467 [[xmltosfdc_realtime].xmltosfdc_realtimeFlow.stage1.02] org.mule.api.processor.LoggerMessageProcessor: [[SaveResult errors='{[0]}' 
id='0012800000poeQRAAY' 
success='true' 

Output in salesforce

Salesforceでマッピングされるフィールドのデータ型です:

datatype

せて頂きますanyonかどうかを知る私はこれで私を助けることができます。

答えて

0

明らかに、販売組織は、異なるデータタイプのためにマップされませんでした。予想されるdatatypeを参照する場合は、数値/数値でなければなりません。

DataWeaveからの変換結果が正しくありません。したがって、私は例えば最初の番号に変換するためにあなたをお勧め:IntegerなどSales_Organization__c: $.VKORG as :numberまたはSales_Organization__c: $.VKORG as :number {class: "java.math.BigDecimal"}enter image description here

+0

のBigDecimalなどのおかげで@sulthony、それは私のために働きました! – user6755654

関連する問題