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.
このステートメントが正常に実行されると、DB "extdata"には、"AIX_VIEW "というビューが含まれるようになります。このビューは、クエリーされると自動的にソーステーブル "Indexdata "の内容を含みますが、DocuWareのフィールドに一致するデータ型を提供します。
AUTOINDEXワークフローの設定時にこのビューを使用できるように、DocuWare Administrationでこのデータベース "extdata "へのデータベース接続を設定できるようになりました。
すべての外部フィールドを対応するDocuWareフィールドに割り当てることもできるようになりました。
ご注意:この記事は英語からの翻訳です。この記事に含まれる情報は、オリジナルの英語版製品に基づくものです。翻訳版の記事で使用されている文法などには、細かい誤りがある場合があります。翻訳の正確さを完全に保証することは出来かねますが、ほとんどの場合、十分な情報が得られると思われます。万が一、疑問が生じた場合は、英語版の記事に切り替えてご覧ください。
