Отфильтровать десятичное значение в сообщении преобразования в муле
У меня есть полезная нагрузка 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: '#.#####'}