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

У меня есть полезная нагрузка 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 ++ "'") reduce ($$ + + "," ++ $) ^ Обнаружено несоответствие типа оператора 'map': null,: function required: array,: function.


person Swetha    schedule 19.12.2018    source источник
comment
Было бы очень полезно включить образец полезной нагрузки.   -  person utechtzs    schedule 19.12.2018
comment
Уточните образец полезной нагрузки:   -  person Swetha    schedule 20.12.2018
comment
{name: xxx, beInfo: [{name: Collaboration, subBeInfo: [{name: yyy, roDetails: [{roFlag: N, termInfo: [{extNetPrice: 95398.85, term: 12}]}]}]}]},   -  person Swetha    schedule 20.12.2018
comment
Привет! Две вещи, которые вы указываете, не соответствуют вашему сценарию, ни ошибка. Теперь, основываясь на сообщении об ошибке, похоже, что где-то в вашем коде мула есть выражение payload.Product_with_Product_Family__c map ..., а Product_withProduct_Family__c имеет значение null. Вы можете легко исправить это, используя payload.Product_with_Product_Family__c default [] map ...   -  person machaval    schedule 20.12.2018
comment
Как упоминалось в вышеупомянутом сообщении, предоставьте правильную входную полезную нагрузку. Хотя можно и это попробовать.   -  person SDE    schedule 22.12.2018


Ответы (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: '#.#####'} 
person SDE    schedule 22.12.2018
comment
Мне нужно отфильтровать это поле Mix__c: currentOptyLineItem.MIX__C, поскольку оно получает 0,00% от полезной нагрузки ... Итак, не могли бы вы разрешить мне, как использовать этот параметр фильтра в сообщении преобразования. - person Swetha; 07.01.2019