突然ですが、「コレクションに複数のフィールドを一度に追加したい」と思いませんか?
Blue Prismの経験者なら誰しも一度は思ったことはあると思います(断言)
・「Utility – Collection Manipulation」オブジェクトの「Append Field(Text)」、「Append Field(Number)」アクションで1フィールド追加はできるけど、一度に複数フィールド追加できればいいのになぁ
・既存コレクションにフラグ型のフィールドを追加したいけど「Append Field」アクションでは対応できない……
こんなお悩みはこのアクションで解決!
今回対象のオブジェクトとアクション
- オブジェクト:Utility - Collection Manipulation
- アクション:Merge Collection
アクションの説明
「Merge Collection」はBP提供アクションです。
「Append Field(Text)」、「Append Field(Number)」アクションと異なり複数フィールドを一度に追加することができます。
また「Append Field」アクションでは対応できない、Date型やFlag型のフィールドを追加することもできます。
使用方法
入力
2つのコレクションをMerge(併合)するアクションなので、コレクションを2つ用意し、入力値として設定します。(出力結果は「Collection 1」のフィールドの右側に「Collection 2」のフィールドが追加される形になります)

出力
併合されたコレクションが生成されます。
出力されるコレクションには新規コレクション(「Collection 3」)を設定することが一般的です。

それでは実際に挙動を見ていきましょう。
1.本アクションで使用する入出力用コレクションを用意し、設定します。

各コレクションの設定値は以下の通りです。
入力用コレクションには初期値としてフィールド名が設定されており、出力用コレクションは空の状態です。

2.実行してみます。
コレクション「Collection 1」のフィールド名の右側にコレクション「Collection 2」のフィールド名が追加される形でコレクション「Collection 3」が作成されました。

Append Fieldアクションとの違い
似たアクションに「Utility – Collection Manipulation」オブジェクトの「Append Field(Text)」、「Append Field(Number)」アクションがあります。
1.アクションで複数フィールドを追加できる
上記でご説明した通り、「Merge Collection」では複数フィールドを1アクションで設定することができます。
2.Date型、Flag型のフィールドを追加できる
「Append Field(Date)」「Append Field(Flag)」アクションは存在しないため、コレクションにDate型、Flag型のフィールドを追加したい場合は、「Merge Collection」を使用することで対応することができます。
使用時の注意点
1.フィールド名は一意であること
併合するコレクション「Collection 1」と「Collection 2」のフィールド名は一意に設定されている必要があります。
フィールド名が重複している状態で実行すると「Internal : コードステージによって例外がスローされたため、コードステージを実行できませんでした。'実行クエリ名' という列は既にこの DataTable に属しています。」という内部エラーが発生します。

2.行数はCollection 1に依存すること
「Collection 1」と「Collection 2」の行数が異なる場合、Collection 1の行数となります。
例)
・Collection 1:3行, Collection 2:4行 → 3行のコレクションになる
・Collection 1:5行, Collection 2:4行 → 5行のコレクションになる
当社サービスのご紹介
いかがでしたか?
今回は「Merge Collection」のご紹介でした。
開発時の参考にしていただけますと幸いです。
- 下記、各サービスの問い合わせはこちら
- BP新規導入
- BPライセンスの購入や他社からの乗り換え
- 技術支援、技術相談
- 教育サービス
BP新規導入またはライセンスを他社から乗り換えで、いまなら3時間分の無料問い合わせチケットつき! ※お問い合わせ内容冒頭に【ブログ】とご記入ください。