Отфильтровать десятичное значение в сообщении преобразования в муле

У меня есть полезная нагрузка JSON, где мне нужно отфильтровать десятичное значение 0,00 с помощью фильтра в сообщении преобразования. Пожалуйста, найдите сообщение трансформации:

%dw 1.0
%output application/java

---
payload map ((currentOptyLineItem , currentOptyLineItemIndex) -> {
    OpportunityId: currentOptyLineItem.OPPORTUNITYID,
    PricebookEntryId: currentOptyLineItem.PRICEBOOKENTRYID,
    Mix__c: currentOptyLineItem.MIX__C ,
    Product_Family__c: currentOptyLineItem.PRODUCT_FAMILY__C,
    QuoteId__c: currentOptyLineItem.QUOTEID__C as :string,
    Extended_Net_Price__c: currentOptyLineItem.EXTENDED_NET_PRICE__C,
    Recurring_Percentage__c: currentOptyLineItem.RECURRING_PERCENTAGE,
    Term__c : currentOptyLineItem.TERM,
    Product_Family_Service_Level_Recurring__c: currentOptyLineItem.ROFLAG,
    Product_with_Product_Family__c : currentOptyLineItem.BUSINESS_ENTITY__C as :string ++ "-" ++ currentOptyLineItem.SUB_BUSINESS_ENTITY__C as :string ++ "-" ++ currentOptyLineItem.PRODUCT_FAMILY__C
} filter currentOptyLineItem.MIX__C > 0
)

но я получаю сообщение об ошибке как:

Трассировка стека корневых исключений: com.mulesoft.weave.mule.exception.WeaveExecutionException: исключение при выполнении: payload.Product_with_Product_Family__c map ((referenceKey, index) -> "'" ++ referenceKey ++ "'") уменьшить ($$ ++ "," ++ $) ^ Несоответствие типов для найденного оператора 'map':null,:function required:array,:function.

1 ответ

Пожалуйста, попробуйте это, если хотите без десятичных знаков:

Extended_Net_Price__c: currentOptyLineItem.EXTENDED_NET_PRICE__C as :string {format: "#.#####"}

в противном случае для числа десятичных разрядов это может быть достигнуто как:

Extended_Net_Price__c: currentOptyLineItem.EXTENDED_NET_PRICE__C as :number {format: '#.#####'} 
Другие вопросы по тегам