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

При записи следующего условия when / otherwise, значение «output_company_id» равно null.Чего не хватает в коде?

Код:

%dw 1.0
%output application/java
---
{
  src_account_type:  "external",    
  tgt_company_id :    "Mary",
  src_company_id :    "Sneha",
  derived_company_id: payload.tgt_company_id 
                        when payload.src_account_type == "external"
                        otherwise payload.src_company_id
}

Консоль

LoggerMessageProcessor: derived_company_id ::{src_account_type=external, tgt_company_id=Mary, src_company_id=Sneha, derived_company_id=null}

1 Ответ

0 голосов
/ 18 ноября 2018

Поскольку вы не предоставили входные данные для преобразования, я сделаю обоснованное предположение: либо payload.src_account_type == "external" имеет значение true, а payload.tgt_company_id имеет значение NULL или отсутствует во входных данных, либо в полезных данных.src_account_type! = "external" и payload.src_company_id имеет значение null или отсутствует во входных данных.Я проверил это с помощью ввода JSON.Если ключ отсутствует, он оценивается как ноль.

...