現在の「楽楽販売」の仕様では、自動処理の「タイマー起動スケジュール(一括実行バッチ)」の設定において、「祝日をスキップする」や「特定の休日を除外する」といった日付連動のスキップ機能を直接選択することはできません。
タイマー予約は指定した時刻(毎日・毎週など)に、カレンダーの曜日や祝日に関係なく機械的に実行される仕組みのためです。
そのため、土日祝日や会社独自の休日を避けてバッチ処理を動かしたい場合は、日付データを格納した「営業日(または休業日)マスタ」と、自動処理の基本機能である「レコード検索パーツ」を組み合わせることで、休日には本来の業務処理をスキップさせる制御が可能になります。
本記事では、運用方法やシステム負荷に応じて選べる「2つのアプローチ(構築パターン)」を分かりやすく解説します。
レコード検索パーツの「検索結果がヒットしたか(YES:下)」「ヒットしなかったか(NO:右)」のルート分岐だけで、完璧に休日をスキップすることができます。
現在すでに稼働している業務データベース(売上データベース、見積もりデータベース、請求データベースなど)のバッチ用自動処理の先頭に、営業日を確認するパーツを追加するだけの一番簡単な方法です。
(※対象となるレコード数が少なく、休日に無駄な起動負荷がそれほど懸念されない場合に適しています)
業務データベース側の対象レコード件数が数百〜数千件と多い場合、パターンAでは休業日であっても件数分(数千回)自動処理が無駄に同時起動してしまいます。マスタ側から1日1回だけ起動させることで、休日のシステム負荷を完全にゼロ(起動0件)に抑える、インフラに最も優しい設計です。
判定の基準となる日付データのみを格納するシンプルなデータベースを作成します。
【マスタへの登録ルール】
・「営業日マスタ」として運用する場合: 土日祝日や会社独自の休日を除いた、システムを稼働させたい「営業日の日付レコードのみ」を1年分登録します。
・「休業日マスタ」として運用する場合: 逆に、土日祝日や会社指定の「休日の日付レコードのみ」をマスタに登録します。
【登録の手間を減らすワンポイント】
全日程(365日分)をマスタに登録・管理するのが大変な場合は、土日祝日や会社指定の「休業日の日付レコードのみ」をマスタデータベースに登録する運用方法(休業日マスタ方式)がおすすめです。この場合は、後続の手順におけるルート分岐にて、「現在の日付がマスタに存在しない(NO:右方向)場合に、本来の業務処理を実行する」という逆の繋ぎ方をすることで、全く同様の休日スキップ運用を最小限のデータ量で実現できます。
既存の自動処理の先頭に、本日がマスタに存在するかを調べる検索パーツを挿入します。
【レコード検索パーツの詳細設定】
検索によってレコードが「見つかったか(YES:下方向)」「見つからなかったか(NO:右方向)」だけで判断するため、条件分岐パーツは不要です。
業務データベース側に対象データが数千件ある場合、休日であっても数千回起動してマスタを検索する処理が走ってしまいます。休日に一切の無駄なバッチ実行をさせたくない場合は、以下の設定を行ってください。
自動処理(タイマー起動)は、対象の絞り込み条件に合致したレコードの「件数分」ループ起動します。マスタ側を「1日1回だけ」安全に起動させる引き金(トリガー)とするため、あらかじめマスタデータベース側に「常に特定の1件のレコードだけをピンポイントで抽出する絞り込み設定」を作成します。
タイマー起動スケジュールは、この「営業日マスタ」に作成した自動処理に対して、手順①の「1件抽出用絞り込み」を対象にセットします。
【自動処理のパーツ構成イメージ】
※本日が「休日」であった場合、最初のパーツNo.1の時点で右方向(処理終了)に流れるため、後続の本来やりたかった業務処理は1回も起動せず、システム負荷を極限まで削減することができます。
詳細な仕様の違いやスケジュール設定については、下記記事をご確認ください。
指定した日時に処理を自動実行させるためのスケジュール設定や、実行順序、制限ルールについて詳しく記載されています。
自動処理設定:一括実行(タイマー起動)
自動処理を設計する際、条件分岐パーツとレコード検索パーツをどのように使い分けるべきか、その処理特性と設計基準について紹介しています。
条件分岐パーツとレコード検索パーツの違い
「楽楽販売」はお客様から頂戴したご意見・ご要望をもとに、
よりよく、寄り添う 販売管理クラウドを目指してまいります。
現在の仕様ではご希望の機能に対応しておりませんが、
お客様からの貴重なご意見として真摯に受け止め、今後の改善に役立ててまいります。
(記事ID:2949)