データベース

概要

この設定は以下の2つの設定で構成されます。

  1. マスタ登録

    CSVファイルをデータベースにインポート。

  2. 保管振り分け

    入力のファイル名からFAX番号を取得して、データベースの顧客マスタから該当のデータを取得後、顧客名でフォルダを作成して入力ファイルを移動。

マスタ登録

「80_CSV\10_in」フォルダを監視して、csvファイルを「マスタ.db」の顧客マスタにインポートします。処理後にcsvファイルを「80_CSV\20_処理済み」に移動します。

80_CSV\10_in
顧客データ.csv
DBにインポート
90_System\80_DB
マスタ.db
ファイル移動
80_CSV\20_処理済み
顧客データ.csv

保管振り分け

以下の処理を行います。

  1. 「10_保管振り分け」フォルダを監視。

  2. ファイル名の先頭から_までの文字(FAX番号)を取得する。

  3. データベースの顧客マスタから、FAX番号で検索を行い、該当の顧客名を取得する。

  4. 顧客名でフォルダを作成して入力ファイルを移動。

10_保管振り分け
0355550000_20200509.xdw
データ検索
90_System\80_DB
マスタ.db
ファイル移動
70_保管
伊藤建設
0355550000_20200509.xdw

設定の前準備

C:\Homeの下に、以下のような構成でフォルダを作り、準備します。

フォルダ構成のダウンロード

データベース_フォルダ構成.zip

Cドライブのルートに解凍してください。

フォルダ構成は以下の通りです。

  • C:\Home\eDocArrangement2\Demo\データベース
    • 10_保管振り分け
      • _0523331111_20200509.zip
      • 0355550000_20200509.xdw
      • 0434443333_20200509.xdw
      • 0523331111_20200509.xdw
    • 15_エラー
    • 70_保管
    • 80_CSV
      • 10_in
        • 顧客データ.csv
      • 20_処理済み
    • 90_System
      • 80_DB
        • マスタ.db
      • 90_Log

設定ファイル

以下のリンクから完成した設定をダウンロードしていただくことができます。

設定ファイルのダウンロード

データベース_設定.zip

以下のフォルダに解凍すると設定が適用されます。

C:\Users\ユーザー名\AppData\Roaming\TechnoStyle\eDocArrangement2

グローバルデータ

グローバルデータとログの設定(共通設定)

グローバルデータの内容は以下の通りです。トップフォルダを変更する場合は、以下の定義を変更してください。グローバルデータは、「共通設定」から変更できます。

名前

値

TopFolder

C:\Home\eDocArrangement2\Demo\データベース

詳しい設定方法は、設定例(共通)グローバルデータとログの設定を参照して下さい。

ログ設定

実行ログファイル名

{%GET_G(TopFolder)}\90_System\90_Log\Log.txt

エラーログファイル名

{%GET_G(TopFolder)}\90_System\90_Log\ErrorLog.txt

文字コード

SJIS

方式

追加書き込み (日単位)

データベース設定

データベースDemo

DBファイル

C:\Home\eDocArrangement2\Demo\データベース\90_System\80_DB\マスタ.db

定義名

タイプ

顧客マスタ

table

顧客マスタ

CREATE TABLE 顧客マスタ (
FAX番号 text not null,
顧客名 text,
primary key (FAX番号)
)

バッチ設定

バッチ設定一覧
データベース_マスタ登録

CSVファイルを顧客マスタを定義したデータベースのテーブルに登録します。登録後は処理済みフォルダに移動します。

共通ログ設定の内容でログを出力する。

  • ファイルの繰り返し1
    Loop File

メイン画面のファイルリストを対象に繰り返し処理を行う。

ループ毎にユーザーデータをクリアする。

  • DB接続1
    Connect Database

データベースDemoで指定されたデータベースファイルに接続する。

接続後トランザクションを開始する。

  • コメント1
    Comment
顧客マスタのレコードは毎回全て削除してからCSVの全行を登録します。
  • データ削除
    Execute SQL

DB接続1で接続したデータベースで以下のSQLを実行する。

delete from 顧客マスタ;
  • テキスト読み込み1
    Read Text

以下のファイルをテキスト読み込みします。

{%GET(FullPathFileName)}

ファイル形式

CSVファイル

文字コード

SJIS

ヘッダ行

0

データ開始行

1

””の処理

完全

  • テキスト行の繰り返し1
    Loop Text

「テキスト読み込み1」でオープンされたテキスト行の繰り返し処理を行う。

  • SQL実行1
    Execute SQL

DB接続1で接続したデータベースで以下のSQLを実行する。

insert into 顧客マスタ values({%GET_FIELD_VALUES_IN_SQL_VALUES(テキスト読み込み1,1,2)});
  • ファイル移動1
    Move File

文書を以下の通り移動する。

移動元

{%GET(FullPathFileName)}

移動先

{%GET_G(DemoTopFolder)}\データベース\80_CSV\20_処理済み

移動先に同名の文書がある場合は、ファイル名に連番を付与する。

データベース_保管振り分け

入力のファイル名からFAX番号を取得(先頭から_までの文字)して、データベースの顧客マスタから該当のデータを取得後、顧客名でフォルダを作成して入力ファイルを移動します。

共通ログ設定の内容でログを出力する。

  • ファイルの繰り返し1
    Loop File

メイン画面のファイルリストを対象に繰り返し処理を行う。

フルパスの一部(正規表現)の昇順でソートを行う。

ループ毎にユーザーデータをクリアする。

  • 条件分岐1
    If

以下の条件を判定して処理を分岐する。

{%IF({%GET(FileLoopCount)}=1,True,False)}
  • 満たしている場合
    If Then
  • DB接続1
    Connect Database

データベースDemoで指定されたデータベースファイルに接続する。

接続後トランザクションを開始する。

  • 前処理
    Macro Execute

以下のマクロを実行する。

#ファイル名からFAX番号を取得(先頭から_までの文字)
{%SET_U(属性,FAX番号,{%REGEX_CAPTURE(^([^_]+),{%GET(FileNameWithoutExtension)})})}

{%WRITE_LOG(select 顧客名 from 顧客マスタ where FAX番号 = {%GET_USER_DATA_IN_SQL_VALUES(属性)};)}
  • SQL実行1
    Execute SQL

DB接続1で接続したデータベースで以下のSQLを実行する。

select 顧客名 from 顧客マスタ where FAX番号 = {%GET_USER_DATA_IN_SQL_VALUES(属性)};

このSQLは結果を返す。

  • レコードの繰り返し1
    Loop Record

「SQL実行1」でオープンされたテキスト行の繰り返し処理を行う。

  • 顧客名取得
    Macro Execute

以下のマクロを実行する。

{%SET_U(属性,顧客名,{%GET_FIELD_VALUE(SQL実行1,1)})}
{%WRITE_LOG(顧客名:{%GET_U(属性,顧客名)})}
  • 条件分岐2
    If

以下の条件を判定して処理を分岐する。

{%IF({%GET_U(属性,顧客名)}!=,True,False)}
  • 満たしている場合
    If Then
  • ファイル移動1
    Move File

文書を以下の通り移動する。

移動元

{%GET(FullPathFileName)}

移動先

{%GET_G(DemoTopFolder)}\データベース\70_保管\{%GET_U(属性,顧客名)}

移動先に同名の文書がある場合は、ファイル名に連番を付与する。

  • 満たしていない場合
    If Else
  • ファイル移動2
    Move File

文書を以下の通り移動する。

移動元

{%GET(FullPathFileName)}

移動先

{%GET_G(DemoTopFolder)}\データベース\15_エラー

移動先に同名の文書がある場合は、ファイル名に連番を付与する。

監視設定(eDocArrangement 2 Schedulerの設定)

No. / 設定名

1 データベース_マスタ登録

2 データベース_保管振り分け

実行対象

データベース_マスタ登録

データベース_保管振り分け

監視フォルダ

{%GET_G(TopFolder)}\80_CSV\10_in

{%GET_G(TopFolder)}\10_保管振り分け

拡張子

*.csv

*.xdw

下位フォルダ

対象にしない

対象にしない

スケジュール

一定間隔 00:00:10

一定間隔 00:00:10

常時ログ出力

しない

しない

オープンチェック

オープンチェックする。(3秒)

オープンチェックする。(3秒)

サイズチェック

しない

しない

実行条件

動作確認

以下の動画をご覧ください。