出力するレコードがない時はファイル出力しない(空ファイル出力の停止)
190-40 | データチェック
krewDataの実行処理では、外部ファイル出力を行っている場合に、出力レコードが0件でもヘッダ行だけの空ファイルが出力されます。
今回は、データチェックコマンドで出力レコードが0件の時には処理を中止して、ファイルを出力しない方法を紹介します。

※なお、この方法では、ファイル出力コマンドが1つだけのときに有効です。ファイル出力が複数あったり、ファイル出力以外に出力アプリがあるフローで同じ設定をすると、エラーが検出された時点ですべての出力が行われなくなります。
この演習は下記のシチュエーションを前提に構成されています。
毎週末にスケジュール実行し自動でその週に購入した物品のレコードデータを外部ストレージのCSVファイルに出力
出力ファイルは、毎回新しいファイルが作成される

入力アプリ「購入品」
「購入日」フィールドに日付データを登録しています。
入力アプリコマンド
標準フィルタで、処理対象レコードの絞り込みをしています。
「購入日」「=(等しい)」「今週」「すべての曜日」

今週のCSVファイルに出力するレコードがないことを想定します。

ファイル出力コマンド
ファイル名は数式で実行した日付設定し、毎週新規ファイルを作成しています。
ファイル名:”購入品報告週ごと_”&TEXT(TODAY(),”yyyy-mm-dd”)
入力レコードがないため出力レコードも0件です。

1.データチェックコマンドを追加する
1. ファイル出力コマンドの直前にデータチェックコマンドを配置します。

2.データチェックコマンドの設定
1. チェックエラーを検出した場合の動作:「データ編集フローの実行を中止する」を選択
2. データチェックエラーアプリを設定する
3. チェック内容:「レコード存在チェック」を選択し、「処理レコードが存在しない場合は、チェック結果をエラーにする。」にチェックを入れます。

3.出力結果を確認する
実行ログ
krewData専用アプリの実行ログには、実行結果は「成功」、ログメッセージに「データチェックエラーを検出したため、データ編集フローの実行を停止しました。」と表示されます。

データチェックエラーアプリ
データチェックエラーアプリにもレコードが作成されます。

ファイル出力
外部ストレージの出力先フォルダにはCSVファイルが作成されません。
サンプルファイルのダウンロードはこちら
演習をお客様のkintone環境で試す

実際の動作を確認できるテンプレートを公開しています。
こちらの記事でご紹介した内容をご自身の環境で試したい方はダウンロードしてご利用ください。

