質問
Mapperのロジックを追加していくと、途中から保存できなくなりました。原因と対処方法を教えてください。
回答
Mapper内のロジック数自体に上限はありませんが、何らかの制限に接触して保存不可となっている可能性があります。
ロジック数を減らすことで事象が回避されるか確認してください。
複数の日時項目から最大日時を取得する処理を行っている場合、各項目ごとにNull判定・日時比較・分岐処理を繰り返す構成ではMapper上のロジック数・接続数が多くなります。以下の構成へ変更することでロジック数・接続数を削減できます。
1. 各日時項目のNull値を、実データでは使用しない十分古い日時(例:1970-01-01 00:00:00)へ [nullを置換] で置換する。
2. [以後] でAがB以後かどうかを判定し、trueの場合はA、falseの場合はBを [条件判定(IF)] で出力する。
3. その結果を次の日時項目と順番に比較していく(例:max(A,B) → max(結果,C) → … → max(結果,最終項目))。
この構成にすると、各比較ごとに日付存在判定や複数の分岐ロジックを持たせる必要がなくなります。
使用するロジック:
- 以後:https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Designer/Mapper/IsAfter.htm
- nullを置換:https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Designer/Mapper/ReplaceNull.htm
- 条件判定による出力の切り替え:https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Designer/Mapper/If.htm
補足
上記の簡略化構成でも保存できない事象が再現する場合は、保存時のエラー内容やMapper定義をもとに追加確認が必要となります。
コメント
0件のコメント
記事コメントは受け付けていません。