在 Yaml 文件中添加查找参考值
Adding Lookup reference values in Yaml file
输入JSON是
%dw 2.0
output application/json
---
[
{
"Master_Job__r": {
"Description_of_Loss__c": "This is Raja",
"Date_of_Loss__c": "2020-06-08",
"Id": null,
"type": "Master_Job__c"
},
"Amount__c": null,
"Job_Number__c": "C##-#7-00041",
"Property_ID__r": {
"Country__c": "United States",
"City__c": "Chennai",
"Zip__c": "77777",
"Address_Line_1__c": "null Testa St",
"Id": null,
"type": "Home",
"State__c": "CA",
"phone__C": "948-125-6666",
"Job_Number__C": "GSD-45613",
"Phone_Ext__C": "257452",
"TOL_Code__c": "EARTHQUAKE",
"TOL_desc__c": "",
"PolicyNum__c": "GSD-123654",
"COvapplyTo__c": "0",
"PolicyLim__c": "156",
"PolDeduc__c": "1562",
"Covname__c": "Rup",
"CovType__c": "4",
"id__c": "4586",
"Date_Taken__c": "2020-08-16",
"Email__c": "sfadmin@demandblue.com",
},
"Email__C": "rupesh@gmail.com",
"Account_Roles__r": [
{
"Multiple_Roles__c": "Primary/Bill-to;Caller",
"Id": null,
"type": "Account_Roles__c",
"Contact_ID__r": {
"Name": "Test QA"
}
},
{
"Multiple_Roles__c": "Project Site Contact",
"type": "Account_Roles__c",
"Contact_ID__r": {
"Name": "Test DB Con002"
}
}
],
"Id": null,
"Project_Manager_Email__c": null
}
]
XML 中的 Dataweave 代码是
%dw 2.0
output application/xml
---
XACTDOC: {(payload map(object,index)->{
ADM:{
dateofloss @("Dateofloss":payload.Master_Job__r[0].Date_of_Loss__c as String,"dateReceived":payload.Property_ID__r[0].Date_Taken__c as String):""default""
},
TOLcode: {
"test": payload.Property_ID__r[0].TOL_Code__c as String,
"Desc": p('Typeofloss.EARTHQUAKE')
}
})}
输出XML格式为
<?xml version='1.0' encoding='UTF-8'?>
<XACTDOC>
</ADM><Coverage_Loss><PolicyNumber PolNum="GSD-123654" claimNumber="GSD-45613"/>
<TOLcode><test>EARTHQUAKE</test><Desc>Earthquake</Desc></TOLcode></XACTDOC>
我已经在 .YAML 文件中创建并存储了名称值查找,例如
Typeofloss:
EARTHQUAKE: "Earthquake"
FIRE: "Fire"
Flood: "Flood"
FREEZE: "Freeze"
VANDALISM: "Vandalism"
ENVIRONMENT: "Environmental Remediation"
STORM: "Hurrican/Tornado/Blizzard/Noreaster"
现在我的要求是,如果 TOL_CODE“测试”字段是“STORM”,那么我需要“DESC”字段作为“Hurrican/Tornado/Blizzard/Noreaster”作为输出。
我将动态获取 Input TOL_CODE 值。
我们如何在不手动输入的情况下获取 Dataweave 表达式中的查找值。
我试过这个逻辑,但它不起作用。
“测试”:payload.Property_ID__r[0].TOL_Code__c 作为字符串,
"Desc": p('Typeofloss.'+payload.Property_ID__r[0].TOL_Code__c)
使用 ++
连接 Desc 字段的字符串,即
"Desc": p('Typeofloss.' ++ payload.Property_ID__r[0].TOL_Code__c)
参考:https://docs.mulesoft.com/mule-runtime/4.3/dw-core-functions-plusplus#plusplus2
输入JSON是
%dw 2.0
output application/json
---
[
{
"Master_Job__r": {
"Description_of_Loss__c": "This is Raja",
"Date_of_Loss__c": "2020-06-08",
"Id": null,
"type": "Master_Job__c"
},
"Amount__c": null,
"Job_Number__c": "C##-#7-00041",
"Property_ID__r": {
"Country__c": "United States",
"City__c": "Chennai",
"Zip__c": "77777",
"Address_Line_1__c": "null Testa St",
"Id": null,
"type": "Home",
"State__c": "CA",
"phone__C": "948-125-6666",
"Job_Number__C": "GSD-45613",
"Phone_Ext__C": "257452",
"TOL_Code__c": "EARTHQUAKE",
"TOL_desc__c": "",
"PolicyNum__c": "GSD-123654",
"COvapplyTo__c": "0",
"PolicyLim__c": "156",
"PolDeduc__c": "1562",
"Covname__c": "Rup",
"CovType__c": "4",
"id__c": "4586",
"Date_Taken__c": "2020-08-16",
"Email__c": "sfadmin@demandblue.com",
},
"Email__C": "rupesh@gmail.com",
"Account_Roles__r": [
{
"Multiple_Roles__c": "Primary/Bill-to;Caller",
"Id": null,
"type": "Account_Roles__c",
"Contact_ID__r": {
"Name": "Test QA"
}
},
{
"Multiple_Roles__c": "Project Site Contact",
"type": "Account_Roles__c",
"Contact_ID__r": {
"Name": "Test DB Con002"
}
}
],
"Id": null,
"Project_Manager_Email__c": null
}
]
XML 中的 Dataweave 代码是
%dw 2.0
output application/xml
---
XACTDOC: {(payload map(object,index)->{
ADM:{
dateofloss @("Dateofloss":payload.Master_Job__r[0].Date_of_Loss__c as String,"dateReceived":payload.Property_ID__r[0].Date_Taken__c as String):""default""
},
TOLcode: {
"test": payload.Property_ID__r[0].TOL_Code__c as String,
"Desc": p('Typeofloss.EARTHQUAKE')
}
})}
输出XML格式为
<?xml version='1.0' encoding='UTF-8'?>
<XACTDOC>
</ADM><Coverage_Loss><PolicyNumber PolNum="GSD-123654" claimNumber="GSD-45613"/>
<TOLcode><test>EARTHQUAKE</test><Desc>Earthquake</Desc></TOLcode></XACTDOC>
我已经在 .YAML 文件中创建并存储了名称值查找,例如
Typeofloss:
EARTHQUAKE: "Earthquake"
FIRE: "Fire"
Flood: "Flood"
FREEZE: "Freeze"
VANDALISM: "Vandalism"
ENVIRONMENT: "Environmental Remediation"
STORM: "Hurrican/Tornado/Blizzard/Noreaster"
现在我的要求是,如果 TOL_CODE“测试”字段是“STORM”,那么我需要“DESC”字段作为“Hurrican/Tornado/Blizzard/Noreaster”作为输出。 我将动态获取 Input TOL_CODE 值。 我们如何在不手动输入的情况下获取 Dataweave 表达式中的查找值。 我试过这个逻辑,但它不起作用。
“测试”:payload.Property_ID__r[0].TOL_Code__c 作为字符串, "Desc": p('Typeofloss.'+payload.Property_ID__r[0].TOL_Code__c)
使用 ++
连接 Desc 字段的字符串,即
"Desc": p('Typeofloss.' ++ payload.Property_ID__r[0].TOL_Code__c)
参考:https://docs.mulesoft.com/mule-runtime/4.3/dw-core-functions-plusplus#plusplus2