注文データのような重要データにフォーマット誤りや不正値が含まれると、データ登録・加工時にエラーが発生する恐れがあります。それを防止するために、Asteria Warpの「正規表現関数」を活用し、データを自動チェックして不正を検出し、担当者へ通知するフローを構築しました。
フローの解説
フローでは、まず対象の注文データを読み込み、RegexpMatch 関数を用いて各フィールドのフォーマットや値をチェックします。
全レコードの「確認結果」が true の場合のみデータベースへ登録し、1件でも false があれば登録を中止してエラーデータを抽出し、エラーファイルを出力して担当者へメール通知します。
フローの詳細
FileGet1コンポーネント
対象ファイルを読み込みます。
ファイルパスに対象パス「20251028/20251028注文データ.csv」を入力する
20251028注文データ.csvファイルの中身
Mapper1コンポーネント
このMapperでは「データ出力」、「データ確認」の2つのレイヤーが存在します。
「データ出力」レイヤー
読み込まれた各フィールドをそのまま出力を行う

「データ確認」レイヤー
各フィールドのフォーマット、値をRegexpMatch関数より確認を行う

RegexpMatchの設定
各フィールドの正規表現は以下ファイルを参照ください。
BranchStart1コンポーネント
条件式に「$record.確認結果="true"」を設定する
※判定方法に「すべて一致」を選択する
その設定により、全レコードの「確認結果」がtrueのみ、BranchStart1の右方向へ流されてデータベースへ登録処理を行いう
一方、1件でも「確認結果」がfalseの場合は、BranchStart1の下方向へ流されて担当者へエラーメールを送信する
RecordFilter1コンポーネント
フィルタリングの案件に「条件式」を設定する
条件式に「$record.確認結果="false"」を設定し、falseのレコードを絞り込む
Mapper4コンポーネント
エラーレコードを出力するための準備を行う
出力するエラーファイル名をExtract関数、Embed関数により作成する
FilePut1コンポーネント
直前Mapper4コンポーネントのEmbed関数により代入されるパスにファイルを出力する
Mapper3コンポーネント
メール本文を作成
Mapper5コンポーネント
添付するファイルパスをFileGetコンポーネントへ代入する
FileGet2コンポーネント
添付するファイルを読み込む
SimpleMail1コンポーネント
担当者へエラーメール送信するための設定を行う
コネクション名:「対象コネクション名」を設定 例:SMTPtest
差出人:「対象メール」を設定 例:example@gmail.com
宛先:「対象メール」を設定 例:tanaka123@gmail.com
件名:「任意の件名」を設定 例:注文データのフォーマットエラーについて
入力ストリームを本文とする:「はい」を選択
ファイルを添付:「はい」を選択
フローの実行結果





ファイル読込後にデータ不正を検出することで、エラー箇所の特定やメール通知による即時対応が可能となり、システムの保守性向上につながります。
最後までお読みいただき、ありがとうございました。
少しでもご参考になれば幸いです。











