Отфильтровать десятичное значение в сообщении преобразования в муле - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть полезная нагрузка 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
)

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

Трассировка стека исключений root: com.mulesoft.weave.mule.exception.WeaveExecutionException: Exception whileвыполняется: payload.Product_with_Product_Family__c map ((referenceKey, index) -> "'" ++ referenceKey ++ "'") Reduce ($$ ++ "," ++ $) ^ Несоответствие типов для найденного оператора 'map': null,: функция требуется: массив,: функция.

1 Ответ

0 голосов
/ 22 декабря 2018

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

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

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

Extended_Net_Price__c: currentOptyLineItem.EXTENDED_NET_PRICE__C as :number {format: '#.#####'} 
...