上記は、以下の既知の問題に該当していると想定されます。
---
DSS-14704
- 入力スキーマがテーブルモデル型で出力スキーマが XML 型の場合、出力データにマッピングされた入力データの null 値は、途中の Mapper ロジックでも空文字として扱います。
---
上記既知の問題により、出力先が XML ファイルなどの XML 型のデータモデルの場合、DB や CSV ファイルなど、テーブルモデル型のデータモデルから読み込んだ「null」は、[nullチェック] ロジックでも「空文字」として扱われるため、ロジックの処理結果は「false」が返されます。
このため、以下の回避策にてご対応ください。
■回避策
- [空文字の変換] ロジックを使用する
[nullチェック] ロジックの前に [空文字の変換] ロジックを使用することで、
「空文字」を「null」に変換し、後続の Mapper ロジックではデータを「null」として扱うことが可能です。
- [Mapperロジックガイド] - [その他] - [空文字の変換]
- Mapper 内の処理を空文字かどうかで判定する
例えば以下のような方法で空文字かどうかの判定が可能です。
1)[条件判定による出力の切り替え] ロジックを配置し、1番目の入力ハンドラに、判定を行いたいカラムからマッピングリンクを接続する。
2)プロパティの [条件] を以下のように設定する
判定条件:上記1で接続したカラム
判定方法:[指定した値を選択]
判定基準:[~と等しい]
判定内容:空欄
3)プロパティの [成立時](=入力値が空文字だった場合)、
[不成立時](=入力値が空文字以外だった場合)に、それぞれ出力したい内容を設定する。
- [Mapperロジックガイド] - [条件] - [条件判定による出力の切り替え]