krewDataの機能 > コマンド > 出力アプリ |
データ編集フローは、RepotoneU出力コマンドを使用する場合を除き、常に出力アプリコマンドで終わります。
出力アプリコマンドは、データ編集フローの結果データを出力するkintoneアプリを指定します。データ編集フローには、ひとつ以上の出力アプリコマンドが必要です。
出力アプリコマンドでは、出力するレコード、およびテーブルレコードへの自動採番を行うことができます。自動採番の詳細は「自動採番」を参照してください。
設定項目 | 説明 | ||
---|---|---|---|
出力アプリ | データ編集フローの結果データを出力するkintoneアプリを指定します。 | ||
出力方法 |
データ編集フローの結果データの出力方法を指定します。
|
||
更新または追加 |
出力方法で[更新]を選択した場合の出力方法を指定します。
|
||
アプリのフィールド | 出力アプリのフィールド一覧が表示されます。 | ||
データ編集フローのフィールド | 出力アプリのフィールドに対応するデータ編集フローの結果データのフィールドを指定します。 | ||
更新キー | 出力方法で[更新]を選択した場合、データ編集フローの結果データのレコードを一意に識別するためのキーとなるフィールドを指定します。 | ||
レコードの出力順序 | 出力アプリにレコードを出力する順序をソート条件により指定します。 レコードの出力順序設定は出力アプリに新規追加されるレコードのみが対象です。更新対象のレコードを含む既に出力アプリに存在するレコードの並べ替えは行われません。 |
||
テーブルレコードの出力順序 | 出力アプリのテーブルにレコードを出力する順序をソート条件により指定します。 テーブルレコードの出力順序は出力アプリに新規追加されるレコードのみが対象です。更新対象のレコードを含む既に出力アプリに存在するレコードの並べ替えは行われません。 |
||
出力オプション |
レコード出力時のオプション動作を指定します。
|
出力アプリの選択ダイアログで[新しいアプリを作成する]を選択し、データ編集フローの結果データと同じフィールド構成のアプリを作成することができます。
|
出力アプリコマンドで利用できるフィールドタイプは「フィールドの種類」を参照してください。
アプリのフィールドとデータ編集フローのフィールドタイプが異なる場合は、自動的にフィールドタイプの変更が行われます。変更可能なフィールドタイプは、フィールドタイプ設定コマンドの「変更可能なフィールドタイプ」と同様です。
各出力方法の動作について説明します。
指定された更新キーにより結果データのレコードを一意に識別し、一致するレコードを更新、または新規レコードとして追加します。
以下の例では、更新キーに「製品」と「部門」フィールドを指定しています。
「更新または追加」がオンの場合
「更新または追加」がオフの場合
指定された更新キーで結果データのレコードが一意に識別できない場合はエラーとなり、出力アプリは更新されません。
出力アプリに存在するレコードを一括削除し、データ編集フローの結果データを出力します。
データ編集フローの結果データを出力アプリに追加します。
テーブルレコードの各出力方法の動作について説明します。テーブルレコードの出力方法は、親レコードの出力方法に「更新」を選択している場合に有効になります。
指定された更新キーにより結果データのレコードを一意に識別し、一致するレコードを更新、または新規レコードとして追加します。
以下の例では、親レコードの更新キーに「企業ID」フィールド、テーブルレコードの更新キーに「製品」フィールドを指定しています。
データ編集フローのフィールドを出力アプリのフィールドに割り当てない場合
テーブルのレコードを一括削除し、データ編集フローの結果データを出力します。
データ編集フローのフィールドを出力アプリのフィールドに割り当てない場合
ルックアップフィールドの更新時の動作について説明します。
データ編集フローの結果データと出力アプリのルックアップフィールドの値が異なる場合、krewDataは他のフィールドタイプと同様に出力アプリのルックアップフィールドの値を更新します。
ルックアップフィールドの設定で「他のフィールドのコピー」に指定されたフィールドについては、出力オプション「ルックアップフィールドのコピーフィールドの値を更新する 」の設定により更新動作が異なります。
「ルックアップフィールドのコピーフィールドの値を更新する」の設定 | 出力アプリに更新対象のルックアップフィールドが存在するか | 結果データと出力アプリのルックアップフィールドの値の差異 | コピーフィールドの値の再取得 |
---|---|---|---|
オン:更新する(デフォルト) | 存在する | 差異あり | 再取得する(出力アプリのコピーフィールドの値を更新) |
存在する | 差異なし | 再取得する(出力アプリのコピーフィールドの値を更新) | |
存在しない | ー | 再取得しない | |
オフ:更新しない | 存在する | 差異あり | 再取得する(出力アプリのコピーフィールドの値を更新) |
存在する | 差異なし | 再取得しない | |
存在しない | ー | 再取得しない |
以下は「注文番号」フィールドを更新キーに指定し、ルックアップフィールド「顧客ID」を含むレコードを更新した場合の実行例です。「会社名」、および「担当者名」フィールドは、ルックアップの設定において「他のフィールドのコピー」に指定されています。
データ編集フローの結果データで「顧客ID」が「C1001」から「C1004」に更新されました。
ルックアップフィールドの値が更新されたため、更新後の出力アプリでは「会社名」、「担当者名」フィールドが「データを取得する元のアプリ」の顧客ID:C1004に該当するレコードの値で更新されます。
このレコードはデータ編集フローの結果データで更新されたフィールドがありませんが、「データを取得する元のアプリ」の顧客ID:C1002の「担当者名」が変更されており、更新前の出力アプリの値と異なっています。
(1)「ルックアップフィールドのコピーフィールドの値を更新する」の設定が「オン」の場合
krewDataは「データを取得する元のアプリ」から最新の値を取得して出力アプリのコピーフィールドを更新します。これにより「担当者名」フィールドの値は「データを取得する元のアプリ」から再取得した値「葡萄太郎」で更新されます。
(2)「ルックアップフィールドのコピーフィールドの値を更新する」の設定が「オフ」の場合
krewDataは「データを取得する元のアプリ」からの値の再取得を行いません。このため出力アプリの「担当者名」フィールドの値は更新されず、元の値「黒田賢治」のままとなります。
このレコードは更新前の出力アプリには存在しない新しいレコードです。
krewDataは「データを取得する元のアプリ」から、ルックアップの設定で「他のフィールドのコピー」に指定された「会社名」、「担当者名」フィールドの値を取得し、出力アプリにレコードを追加登録します。
選択済みの出力アプリを変更する場合は、設定タブの[アプリを選択]ボタンをクリックして別のアプリを選択します。
データ編集フローの実行時にkintoneアプリへ書き込むレコード数には上限があります。詳細については「上限設定」を参照してください。
自動採番の詳細は「自動採番」を参照してください。