Question:
Active Importでは、データ型が外部ソース(データベース)と同じでなくても、フィールドの割り当てを定義することができました。
つまり、フィールドの内容が適合する限り、Text型のデータベースフィールドをDocuWareのDateフィールドに割り当てることができます。
AUTOINDEXを使用している場合、どのようにすればよいですか?
回答:
ソースデータベースが他のアプリケーションによって埋め尽くされている可能性があり、フィールドタイプを変更したくないため、データベースビューを使用して、DocuWareのターゲットフィールドと同じデータタイプのデータを使用することができます。
例:
"extdata.dbo.Indexdata "テーブル(MSSQLの場合)にインデックス情報を持つ外部データベース:
カラム名 | データ型 | 内容 |
---|---|---|
ID | Nchar(10) | 1 |
バーコード | 数値(18,0) | 123456 |
ドキュメント番号 | Varchar(50) | 45612 |
名前 | Varchar(50) | マイヤーAG |
郵便番号 | Varchar(50) | 81785 |
文書日付 | Varchar(50) | 15.09.2014 |
DocuWareには、documentnumber、postalcode、documentdateと呼ばれるフィールドもありますが、これらのフィールドは、他のデータ型でよりよく使用するために作成されています:
DocuWareフィールド | データ型 |
---|---|
文書番号 | 数値 |
郵便番号 | 数値 |
日付 | 日付 |
したがって、AUTOINDEXワークフロー構成では、外部フィールドをDocuWareフィール ドに割り当てることはできない。このため、DocuWareフィールドの内容を変換し、割り当てを可能にするMSSQLデータベース・ビューが作成されます。
以下のコマンドの詳細については、こちらを参照してください: CASTおよびCONVERT(Transact-SQL) - SQL Server|Microsoft Learn。
ビューは外部DBのすべてのフィールドを含む必要があるため、基本的なステートメントは以下のようになります:
SELECT
ID ,
バーコード ,
ドキュメント番号,
name ,
postalcode ,
documentdate
FROM
extdata.dbo.Indexdata
テキスト・フィールドを数値フィールドに変換するには、CASTコマンドを使用します:
CAST (<フィールド名> AS <目的のデータ型>) AS <ビューのカラム名>
"documentnumber "フィールドの場合、SELECT文は以下のように適合させる必要があります:
SELECT
ID
バーコード
CAST (documentnumber AS int) AS documentnumber,
名前
郵便番号,
documentdate
FROM
extdata.dbo.Indexdata
日付フィールドの場合、CASTの代わりにCONVERTを使用しなければならない:
CONVERT ([datetime], <フィールド名>, 104) AS <ビューのカラム名>
ビューを作成する完全なステートメント:
create view aix_view
as
select
id
バーコード
CAST (documentnumber AS int) AS documentnumber,
名前,
CAST (postalcode AS int)AS postalcode ,
convert ([datetime], documentdate, 104) AS documentdate
FROM
extdata.
このステートメントが正常に実行されると、"extdata"DBには、"AIX_VIEW "というビューが含まれるようになります。"AIX_VIEW "は、"Indexdata "ソーステーブルの内容を自動的に含みますが、DocuWareのフィールドと一致するデータ型を提供します。
このデータベース "extdata "へのデータベース接続をDocuWare Administrationで設定し、AUTOINDEXワークフローを設定する際にこのビューを使用できるようになりました。
すべての外部フィールドを対応するDocuWareフィールドに割り当てることもできるようになりました。
ご注意:この記事は英語からの翻訳です。この記事に含まれる情報は、オリジナルの英語版製品に基づくものです。翻訳版の記事で使用されている文法などには、細かい誤りがある場合があります。
翻訳の正確さを完全に保証することは出来かねますが、ほとんどの場合、十分な情報が得られると思われます。万が一、疑問が生じた場合は、英語版の記事に切り替えてご覧ください。