• 文字サイズ変更
  • S
  • M
  • L

FAQのNo.から検索


  • No : 32725
  • 公開日時 : 2021/02/16 15:52
  • 更新日時 : 2021/02/17 12:10
  • 印刷

【DataSpider Servista】Mapperの[足し算]ロジックでスクリプト変数と出力先コンポーネントへ同時に出力を行うと、出力される値が足し算2回分の値になる

Mapper の [足し算] ロジックで、数値型のスクリプト変数に値を加算した後、出力先コンポーネントのスキーマへのマッピングとスクリプト変数への代入を同時に行うと、出力先のコンポーネントにて出力される値が足し算を2回行った値となります。
 
原因と対処方法を教えてください。
カテゴリー : 

回答

■仕様説明
出力先のコンポーネントへの出力とスクリプト変数への代入を同時に行った際に、出力先の値が足し算を2回行った値になる動作は、ドキュメント Mapper と変数 Mapperの以下の仕様によるものです。
------
スクリプト変数への代入は、出力先コンポーネントへの書き込みよりも先に一度だけ行われます。
------
例として、初期値 「0」 の数値型のスクリプト変数 「var」 に [足し算] ロジックで 2 を加算した後、出力先のコンポーネントとスクリプト変数に同時に値を代入する場合は、以下のような動作となります。
  1. スクリプト変数 「var」 に [足し算] ロジックで 2 が加算され、同じ変数 「var」 に代入される。
  2. 値が 2 となった 「var」 に [足し算] ロジックで 2 が加算され、出力先のコンポーネントには4 が出力される。
■対応策
スクリプト変数にロジックで変換した値を再度代入する場合は、出力先のコンポーネントへの出力とはそれぞれ別の Mapper にて行ってください。
 
参考情報
  • [ドキュメントMapper/変数Mapper] - [仕様制限]
目的別で検索
仕様確認