AsteriaWarpのサブフロー(ストリームとパラメータ)

サブフローコンポーネントをフローの中に配置すると、別のフローをサブフローとして呼び出せます。
呼び出し元フローと呼び出されたサブフローの間で、データをやり取りできます。
(下画像の赤枠で囲われているコンポーネントがサブフローコンポーネントです。)

ストリームで値を受け渡す

呼び出したいフローは以下2通りの方法で設定できます。

  1. サブフローの呼び出しコンポーネントのプロパティから設定する。
  2. ツリー表示から呼び出したいフローを呼び出すフローにドラッグアンドドロップすると、呼び出すフローが設定されたサブフローコンポーネントが作成される。

呼び出されたサブフローでは、フロー開始時に呼び出し元フローのサブフローコンポーネントへの入力ストリームが渡されます。

サブフロー側でマッパーコンポーネントなどを使ってストリームで流れてきた値を編集したい場合は、ストリーム型を合わせる必要があります。
サブフローのスタートコンポーネントで初期値では右下にANYと表示されている部分をクリックして、ストリーム型を合わせます。
(今回はCSVで読み込んでいるため、ANYからCSVに変更する。)

また、ストリーム定義も呼び出し元とサブフローで合わせる必要があります。

マッパーコンポーネントの出力側でストリームを扱うため、サブフローのマッパーコンポーネントを右クリックして、「入力ストリーム定義を出力にコピーする」をクリックします。そうすると、マッパーの出力側でも入力側と同じフィールドが設定できるようになります。

サブフローでの終了は、ストリームの値を呼び出し元のフローに返したい場合は、出力ありのフローの終了コンポーネントを配置する。出力なしのフローの終了コンポーネントではストリームの値が戻りません。
呼び出し元サブフローコンポーネントの「入力をそのまま出力」もいいえにしてください。

これで、サブフローで編集したストリームを呼び出し元に戻せます。

パラメータで値を受け渡す

サブフロー側でフロー変数を設定して、公開にチェックを入れます。
そうすると、呼び出す側のサブフローコンポーネントのプロパティにパラメータータブに設定したフロー変数が追加されます。

このパラメーターは設定したサブフローとそのフローが呼び出されるサブフローコンポーネントの前後のマッパーで参照できるようになります。
※呼び出されたサブフローコンポーネントの後ろのマッパーでは、フロー変数ではなくストリーム変数になっています。