[選択肢マスタ更新]工程で選択肢マスタXMLを作る

選択肢マスタXML(選択肢XML)は手書きやエクスポートでも作れますが(→ 選択肢マスタXMLの作成方法)、自動工程[選択肢マスタ更新] を使うと、ワークフローの中で選択型データ項目が持っている選択肢を、そのまま選択肢マスタXML(アドオンファイル)として保存できます。手作業を挟まず、工程として自動化・更新できるのが特徴です。選択型データ項目を経由せず、1 行 1 件で書いた文字型データ項目から直接作ることもできます。その場合は、選択肢ごとに単価や担当者などの値(選択肢プロパティ)を持たせられます。


目次


どんなときに使うか

選択肢が固定ではなく、運用の中で増減・変更するデータに向いています(取引先一覧、商品リストなど)。手作業で XML を作り直す代わりに、元データを更新して 工程を流し直すだけ で最新の選択肢マスタが自動生成されるので、候補リストの保守を仕組みとして回せます。


設定の手順

この記事では、選択肢の元になる選択肢IDと表示ラベルを、文字型データ項目に 1 行 1 件で用意します。[選択肢マスタ更新]工程では、[選択肢の取得方法]で次のどちらかを選びます。

  • 「選択型データ項目を参照する」:文字型データ項目の値を選択肢にした選択型データ項目を用意し、その選択肢を選択肢マスタXMLにします。
  • 「文字型データ項目から組み立てる」:選択型データ項目を用意せず、文字型データ項目の値から直接選択肢マスタXMLにします。

選択肢プロパティ(選択肢ごとに持たせる値)が不要なら、どちらを選んでも構いません。選択肢プロパティを持たせるときは、「文字型データ項目から組み立てる」を選びます。「選択型データ項目を参照する」では、選択型データ項目の選択肢にプロパティがあっても、プロパティは XML に出力されません。

ここでは、顧客の一覧を選択肢マスタ「顧客マスタ」にする例で説明します。

選択肢の元になる文字型データ項目の用意

文字 (複数行) のデータ項目を 2 つ用意します(例:名称「顧客ID一覧」「顧客名一覧」)。中身はどちらも 1 行 1 件で、行の並び順で選択肢IDと表示ラベルを対応させます。選択肢IDが空の行は選択肢になりません(同じ行の表示ラベルやプロパティの値も使われません)。表示ラベルの行が無いか空のときは、その選択肢の表示ラベルは選択肢IDになります。

顧客ID一覧:

C001
C002
C003

顧客名一覧:

あおぞら商事
いろは工業
うみのき物産

これらの文字型データ項目の値は、ヒューマンタスクでの手入力のほか、上流工程の値やスクリプトタスク、外部データ取得(Google スプレッドシート等)でセットしても構いません。

[選択肢マスタ更新]工程の共通の設定

フローに[選択肢マスタ更新]工程を配置し、どちらの取得方法でも次の項目を設定します。

  • [更新するアドオンの種別]:「選択肢マスタ(アプリ共有アドオン)」/「選択肢マスタ(アドオン)」のいずれかを指定(複数アプリで共有するなら前者)
  • [選択肢マスタを更新するユーザ(要システム管理権限)]/[選択肢マスタを更新するユーザ(要アプリ管理権限)]:更新を実行するユーザを指定(ラベルと必要な権限は、[更新するアドオンの種別]に応じて変わります)
  • [アドオンとして保存する際の名前]:任意の名前(例:「顧客マスタ」)

設定画面では、上から[更新するアドオンの種別]、ユーザの項目、[選択肢の取得方法]、取得方法ごとの項目、[アドオンとして保存する際の名前]の順に並びます。

選択型データ項目を参照する場合

  1. 選択型データ項目を用意します(例:名称「マスタ確認用選択肢」)。設定ダイアログの[選択肢種別]で「文字型データ項目」を選び、[選択肢ID]に「顧客ID一覧」を、[表示ラベル]に「顧客名一覧」を指定します。これで各行が、そのまま選択肢の候補になります。表示ラベルが選択肢IDと同じでよい場合は、「選択肢IDを表示ラベルとして使用」を選べば、文字型データ項目は 1 つで済みます。
  2. [選択肢マスタ更新]工程で、共通の設定に加えて次の項目を設定します。
    • [選択肢の取得方法]:「選択型データ項目を参照する」を指定
    • [選択肢一覧を保存する選択型データ項目]:1 の「マスタ確認用選択肢」を指定

文字型データ項目から組み立てる場合

選択型データ項目は用意しません。[選択肢マスタ更新]工程で、共通の設定に加えて次の項目を設定します。

  • [選択肢の取得方法]:「文字型データ項目から組み立てる」を指定
  • [選択肢 ID を保持する文字型データ項目]:「顧客ID一覧」を指定
  • [表示ラベルを保持する文字型データ項目]:「顧客名一覧」を指定(指定しない場合は、選択肢IDがそのまま表示ラベルになります)
  • [プロパティ列]:選択肢プロパティを持たせるときに指定(下記)

選択肢プロパティを持たせるときは、プロパティごとに文字型データ項目を用意します。顧客ごとの担当者を持たせる場合は、文字 (複数行) のデータ項目「担当者一覧」を用意し、「顧客ID一覧」と同じく 1 行 1 件で書きます。担当者がいない顧客の行も詰めずに、空の行として残します。次の例では、2 行目(C002 の行)が空です。

担当者一覧:

佐藤

鈴木

[プロパティ列]の[列名]にプロパティの名前(例:staff)を入力し、[データ項目]に「担当者一覧」を指定します。プロパティを複数持たせるときは、[プロパティ列]に行を追加します。[列名]には、半角英字、半角数字、アンダースコアを使います。先頭は半角英字かアンダースコアにします。日本語などほかの文字は、列名に使えません。プロパティ列は 50 個までです。

[列名]に入力した名前は <columns> 要素に並び、各選択肢には prop- に列名を続けた属性で値が付きます。この設定では、次の内容の選択肢マスタXMLが保存されます(見やすいように改行しています)。C002 の行は「担当者一覧」が空なので、prop-staff 属性が付きません。

<?xml version="1.0" encoding="UTF-8"?>
<items>
  <columns><column>staff</column></columns>
  <item value="C001" display="あおぞら商事" prop-staff="佐藤" />
  <item value="C002" display="いろは工業" />
  <item value="C003" display="うみのき物産" prop-staff="鈴木" />
</items>

選択肢マスタXMLでの選択肢プロパティの書き方は「選択肢マスタXMLの作成方法」を、選択肢プロパティの使い方は「選択型データ項目の選択肢にプロパティを持たせる」を参照してください。

保存された選択肢マスタの確認

ケースが[選択肢マスタ更新]工程を通過すると、選択肢が選択肢マスタXML(アドオンファイル)として保存されます。指定した種別に応じて、システム設定の[アプリ共有アドオン](「選択型データ項目で使用する選択肢マスタ」一覧)またはアプリの[アドオン]に表示され、ダウンロードボタンから XML 形式でも取得できます。

生成されたアドオンファイル

作成後は、顧客が増減したら文字型データ項目(顧客ID一覧・顧客名一覧)を更新して工程を流し直すだけです。選択肢マスタ「顧客マスタ」が最新の内容で再生成されます。


登録先と権限

[選択肢マスタ更新]が保存するアドオンファイルは、複数アプリで共有する[アプリ共有アドオン]か、各アプリの[アドオン]に置かれます。どちらに登録するか、必要な権限や更新の作法などの詳細は、選択肢マスタXMLの作成方法 を参照してください。


外部データと組み合わせる

外部サービスから取り込んだデータを文字型データ項目に保存し、その後 [選択肢マスタ更新]で選択肢マスタXMLにする、という流れもよく使われます。取り込み方法は次の記事を参照してください。


参考リンク