サブフローとは何か

PADは初期の状態だと、Mainフロー(メインフロー)の中にアクションを配置し、フローを作成するようになっています。
ただ、複雑なフローを作ろうとした際に、全てMainフローで作ると見難くなってしまいます。
技術的な本やマニュアルを読む際、章が分かれていないと読むのが凄く大変ですよね。

PADでは、こういった状態を避けるため、「サブフロー」という機能が備わっています。
サブフローを使うことで、フローを細かく分割することができ、非常にわかりやすくなります。

また同じ処理を繰り返し行いたい場合にも非常に有効です。
例えば、システムに登録された顧客名に全角半角が混ざっていて、ループ処理処理の中で置き換えを行ってから、市後続の処理を行わねければいけない場合などです。
このような場合には、ループ処理の中でサブフローを呼び出すことで、非常に効率的に処理が出来ます。

この方法は、顧客名の他に、郵便番号、住所、電話番号など、複数の項目で同じ処理をしたい場合にも非常に有効です。
また、何かしらサブフローの仕組みに不具合があった場合に、サブフローを直すだけで、関連する部分の修正が完了するという点がメリットとして考えられます。

ただし、あまりにもサブフローを細かくしてしまうと、どこにどの処理が入っているのか分からず、逆に管理が難しくなってしまうため、あまり処理が長くなければ、サブフローの数は数個程度にまとめるのが良いと思われます。

サブフローの使用方法

サブフロー内にある(+)マークからサブフローを追加することが出来ます。

次にサブフローの名前を設定しますが、サブフロー名に日本語は使えません
またスペースやハイフンなども利用できず、使える記号は「アンダースコア(_)」のみとなっています。
名前に意味を持たせたい場合は「XXX_YYY_ZZZ」のように、_で区切る命名が良いと考えられます。

保存するとサブフローが追加されます。

変数はフロー全体で共有されているため、サブフローで作った変数はMainフローや他のフローで利用することもでき、また値を更新した場合は、他のフローで利用しても更新後の値が利用されます。

他のフローからサブフローを呼び出す場合は、「サブフローの実行」アクションで呼び出すことが出来ます。

ただし、サブフローからメインフローを呼び出したり、AというサブフローからAのサブフローを呼び出す(自分自身を呼び出す:再帰処理と言います)は出来ません。