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

FAQのNo.から検索


  • No : 35634
  • 公開日時 : 2024/04/09 16:53
  • 印刷
DSServistaDSCloud

【DataSpider】ソート処理の結果をスクリプト変数に代入したところ、エラーが発生しました。原因と対処方法を教えてください

 CSV ファイル読み取り - ソート処理 - 変数 Mapper

上記のようなスクリプトで、ソート処理の結果データをスクリプト変数に代入したところ、下記エラーが発生しました。
------
メッセージコード = OTHER0002E
[variable(基本/処理/変数代入)]の処理に失敗しました。原因:[java.lang.IllegalStateException: var 変数に値を設定することができませんでした (can't get value)]
------
 
原因と対処方法を教えてください。
カテゴリー : 

回答

上記エラーは、ソート処理の結果データを直接スクリプト変数に代入しようとした際に発生します。

■仕様説明
 ソート処理などの並列処理には以下の仕様制限があります。
 ------
 ・結合処理、グループキーを設定している集計処理、またはソート処理の結果データを、以下のコンポーネントまたは特定の条件下で使用した場合、実行時にエラーが発生します。

  - 繰り返し処理、繰り返し(条件指定)処理、または繰り返し(データ件数)処理で、繰り返しの外にある並列処理から繰り返し内のコンポーネントに直接データフローを引いている
  - 変数 Mapper
  - ドキュメント Mapper で、スクリプト変数に代入する
  - マージ Mapper
  - キーによるソートロジック
  - 二つのキーによるソートロジック
  - SAP BC アダプタのインバウンド実行処理で、[妥当性の検証を行う]にチェックが入っている
 ------

 上記より、ソート処理の結果データを直接スクリプト変数に代入することはできません。
 このため、以下の回避策にて対応をお願いします。

■回避策
 以下の手順でソート処理の結果データを一時ファイルに出力することでご対応ください。

 1.ソート処理の後に、例えば [CSV ファイル書き込み] 処理などを配置して結果データを一時ファイルに出力する。

 2. [CSV ファイル書き込み] 処理の後続に [CSV ファイル読み取り] 処理を配置し、上記 1 で出力した一時ファイルを読み込んで、結果データを変数 Mapper にてスクリプト変数に代入する。

■参考情報
 ▼DataSpider Servista
 ・[並列処理] – [仕様制限]
  URL:https://www.hulft.com/help/ja-jp/DataSpider/latest/help/ja/servista/multi_stream_processing.html

 ▼DataSpider Cloud
 ・[並列処理] – [仕様制限]
  URL:https://doc.dataspidercloud.com/latest/help/ja/servista/multi_stream_processing.html
目的別で検索
トラブルシューティング