NotesGetAdv - Notesからの入力(Adv)

Notesデータベースからレコードを取得し、添付ファイルを指定フォルダーに保存することができます。
Notesビルダーを使って、Notesデータベースの一覧やスキーマを取得します。詳細については下記トピック「Notesビルダーの使い方」を参照してください。

■ストリーム情報

入力フォーマットNONE
接続数0
出力フォーマットRecord
説明選択されたNotesデータベースからレコードを取得します。Notesデータベースから取得したレコードのフィールドデータは、ストリームペインに設定したフィールドに差し込まれます。

「ASNOTES_UNIVERSALID」というフィールド名を設定した場合には、Notesデータベースから取得したレコードのUniversalIDをそのフィールドに差し込みます。

「ASNOTES_ATTACHMENTCOUNT」というフィールド名を設定した場合には、Notesデータベースから取得したレコードの添付ファイルの数をそのフィールドに差し込みます。

「ASNOTES_ATTACHMENTINFO」というフィールド名を設定した場合には、Notesデータベースから取得したレコードのフィールド名と添付ファイル名情報が差し込まれます。フォーマットは以下のように区切り文字「,」で設定されます。

フィールド名1,添付ファイル名1,フィールド名2,添付ファイル名2, ...

■コンポーネントプロパティ

名前プロパティ型マッピング説明
コネクション名connection-接続先のNotesサーバーを指定します。
コネクションペインまたは管理コンソールにて作成したNotes接続名を選択します。
データベース名string入力&出力 クエリーを行うNotesデータベースの名前を指定します。
検索文字列string入力&出力Notesの@functionフォーミュラを設定します。
この設定のフォーマットについてはNotesのドキュメンテーションを参照してください。
指定されたノーツ文書がレコードとして取得されます。このプロパティは設定されてない場合は、すべてのドキュメントが選択されます。
添付データをダウンロードboolean入力&出力 検索されたレコードに添付データファイルがある場合、添付データファイルをダウンロードしてデスクへ保存するかを設定します。
ただし、リッチテキストフィールドに関連付けられていないR4以前の添付ファイルには対応していません。
はい [true] - 添付データファイルをダウンロードします。
いいえ [false] - 添付データファイルをダウンロードしません。
添付データファイルパスの起点pathResolver-添付データファイルパスが相対パス指定の場合に、ベースフォルダーを指定します。
プロジェクトフォルダ [Relative]
プロジェクトファイルと同じフォルダを起点にします。
ホームフォルダー [ProjectOwner]
プロジェクトオーナーのホームフォルダーを起点にします。
実行ユーザーのホームフォルダー [ExecuteUser]
実行ユーザーのホームフォルダーを起点にします。
添付データファイルパスstring入力&出力 検索されたレコードの添付データファイルを書き込むパスを指定します。
相対パスの場合は、添付データファイルパスの起点の指定に基づいて解釈されます。
添付データ情報ファイルパスstring   出力 取得した添付データファイルに関する情報を含むファイルのフルパスが返されます。参照のみ。
取得した添付データファイルに関する情報は「,」区切りで以下のデータが出力されます。
  • UniversalID - 添付データファイルのドキュメントのユニークID
  • ThisIndex - このレコードのインデックス番号。「1」から始まります。
  • TotalCount - 添付インデックスファイルに入っているレコードの総数
  • FieldName - 添付ファイルのフィールド名
  • FileName - 添付ファイルのフルパス
  • OriginalName - 添付ファイルの参照に使用される名前
ループを開始loopProcess- クエリーで適合したレコードをまとめて出力するか、1レコードずつループして出力するかを選択します。
はい [true] - ループの起点となって1レコードずつストリームに出力されます。
いいえ [false] - すべてのレコードがまとめてストリームに出力されます。

■ループ処理

ループを開始が「はい」の場合、クエリーで適合したレコードを1つずつ出力します。「いいえ」の場合は、クエリーで適合したレコードのすべてを一度に出力します。

■トランザクション処理

コミット何もしません。
ロールバック何もしません。

■エラー処理

タイプパラ
メータ
エラー処理フロー
へのストリーム
エラー
コード
説明
接続エラー なし コンポーネントの入力ストリーム2Notesサーバーに接続できない場合
(パスワードが間違っている場合など)
レコードが無い なし コンポーネントの入力ストリーム4検索されたレコードが無い場合
汎用 なし コンポーネントの入力ストリーム1コネクション名に指定したコネクションが見つからない場合
3選択されたNotesデータベースを開くことができなかった場合
5検索が失敗した場合
6出力ストリームの作成時にエラーが発生した場合
9データベースの更新対象フィールドの取得に失敗した場合

■動作に必要な設定

Notesコンポーネントを使用するには、以下の手順で事前設定を行います。手順がすべて完了すると、フローサービスおよびフローデザイナーからDominoサーバー上のNotesデータベースを利用、連携することができます。

  1. フローサービスのマシンにNotesクライアントを設定する
  2. フローサービスにNotesAPIライブラリをコピーする

フローサービスのマシンにNotesクライアントを設定する

フローサービスがインストールされているマシンにDominoサーバーとの通信用のNotesクライアントをインストールします。Notesクライアントには、フローサービスがDominoサーバーと接続できるようにNotesユーザーIDを生成します(NotesユーザーIDの生成についてはNotes管理者に問い合わせてください)。また、フローサービスと連携したいDominoサーバー/Notesデータベースには、このユーザーIDで正常に接続するためのアクセス権を設定してください。

Notesクライアントの設定後に、Notesクライアントを起動してDominoサーバー/Notesデータベースとの接続を確認してください。

注意

バージョンによっては、Notesクライアントに以下の設定が必要です。この設定が正しく行われていない場合、正常に動作しない場合があります。

フローサービスにNotesAPIライブラリをコピーする

Notes.jarファイルを以下のフォルダーにコピーします。コピー後、フローサービスを再起動します。

ライブラリを配置するフォルダー

[INSTALL_DIR]/jre/lib/ext

注意

すでにこのライブラリがコピーされていた場合は置き換えてください。このライブラリファイルは、Notesクライアントのバージョン(マイナーリビジョン含む)に依存しますので、必ず同一のものを使用してください。Notesクライアントのバージョンを変更した場合、必ずライブラリをコピーしてください。

フローサービスのマシンでWindowsの環境変数PATHへ追加する

フローサービスとNotesクライアントの通信のために、Windowsの環境変数PATHに対して、Notesクライアントのインストールフォルダーパスを追加します。

デスクトップ画面の「マイコンピュータ」を右クリックメニューして表示されるメニューの「プロパティ」をクリックします。表示されたダイアログボックスの「詳細設定」-「環境変数」をクリックします。「環境設定」ダイアログボックスの「システム環境変数」内の変数PATHの最後に、Notesクライアントのインストールフォルダーパス(C:\Lotus\Notesなど)を追加します。

コネクションの接続設定

コネクションペインまたは管理コンソールで、以下の接続設定の内容を定義します。定義した接続名をコネクション名で選択します。

項目名説明
接続名接続設定を識別するための名前を入力します。
サーバー名 接続するためのDominoサーバー名を入力します。
ネットワーク上で解決できる名前を指定します。また、サーバー名が空の場合、フローサービスと同一マシン上のNotesクライアントのデータフォルダーに存在するローカルNotesデータベースに接続されます。
IDファイルNotesユーザーIDファイルへのフルパスを入力します。
フローサービスと同一マシン上のNotesクライアントが利用するIDファイルのファイルパスを指定します。
パスワードNotesユーザーIDファイルのパスワードを入力します。

■Notesへ複数フローで同時にアクセスする場合の注意事項

Notes APIが排他制御されていないため、下記のエラーが発生することがあります。

Notes エラー: リモートシステムが応答しません

このエラーを回避するためには、同時にアクセスしないようにフロー側でMutexコンポーネントを使用するなど、排他制御を行う必要があります。

■フローサービスをWindowsサービスから起動する場合の注意事項

本コンポーネントを使用する場合で、かつフローサービスをWindowsサービスから起動する場合には、サービスのログオンにはローカルシステムアカウントではなくAdmin権限を持つユーザーを設定してください。

■フローサービスのフィールド定義とNotesフィールドのデータ型の関係について

フィールド定義と値

Notesから値を取得するときには、フローサービスでフィールド定義されている型に合わせて値を取得します。
フローサービスのフィールド定義とNotesフィールドのデータ型の関係は次のようになります。

フローサービスのフィールド型Notesフィールドデータ型取得できる内容備考
String文字Notesフィールドの文字列がそのまま取得できます。Notes Java APIのItem#getText()が使用されます。
数値Notesフィールドの数値データが文字列として取得できます。
時刻/日付Notesフィールドの時刻/日付データが文字列として取得できます。
その他リッチテキストフィールドの場合、文字列以外のデータをスキップします。
HTMLフィールドの場合、null(空文字)となります。
Integer文字「0」となります。Notes Java APIのItem#getValueInteger()が使用されます。
数値Notesフィールドの数値データがIntegerとして取得できます。
値が空の場合は「0」となります。値が複数ある場合は最初の値となります。
時刻/日付「0」となります。
その他「0」となります。
Decimal文字「0」となります。Notes Java APIのItem#getValueDouble()が使用されます。
数値Notesフィールドの数値データがDecimalとして取得できます。
値が空の場合は「0」となります。値が複数ある場合は最初の値となります。
時刻/日付「0」となります。
その他「0」となります。
Double文字「0.0」となります。Notes Java APIのItem#getValueDouble()が使用されます。
数値Notesフィールドの数値データがDecimalとして取得できます。
値が空の場合は「0.0」となります。値が複数ある場合は最初の値となります。
時刻/日付「0.0」となります。
その他「0.0」となります。
DateTime文字通常はnullとなります。
ただし、"Today"、"Yesterday"などの式は接続するDominoサーバーの現在日時、または昨日をあらわすdatetime型データとして取得されます。"2004"など、日時型データの一部である、とノーツシステムが認識できるデータの場合、ノーツAPIによって残りの日時要素が補完され、datemtime型データとして取得されます。例えば"2004"と記述されていた場合、実行時の月の1日目が補完され、"2004-12-01T00:00:00.000"というdatetime型データとし返されます。 日時として認識される文字列や数値の書式については使用するノーツのバージョンのヘルプをご覧ください。
Notes Java APIのItem#getDateTimeValue()が使用されます。
数値nullとなります。
時刻/日付Notesフィールドの時刻/日付データがDateTimeとして取得できます。
値が空の場合はnullとなります。値が複数ある場合は最初の値となります。
その他nullとなります。
BooleanすべてNotesフィールドのデータが空の場合はFalse、空でない場合はTrue。Notes Java APIのItem#getValues()の返却値がnullかどうかで判断されます。
BinaryすべてString型を指定した場合と同じ値がBinaryとして取得できます。Notes Java APIのItem#getText()が使用されます。

複数値をもつフィールドの値を取得するには

複数値をもつフィールドの値をNotesから取得するには、フィールドの型をStringにする必要があります。
String型で定義すると、Notesフィールドが持つ複数の値を「;」(セミコロン)区切りでつないだ文字列として取得することができます。
それ以外の型で定義した場合、複数値を持っていても最初の値しか取得することはできません。

■Notesビルダーの使い方

Notesビルダーは、コネクション名に定義されているDominoサーバーからNotesデータベースの一覧を取得し、そのデータベースの特定のフィールドを取得する専用ツールです。

●Notesビルダーを起動する

以下のいずれかの操作でNotesビルダーを起動します。

●データベースの選択

処理の対象となるNotesデータベースをドロップダウンリストから選択します。

注意

データベースに対するアクセス権限がない場合はエラーが表示されます。接続設定に使用したNotesユーザーIDの権限を確認してください。

●フィールドの取得方法の選択

データベースを選択すると、フィールドの取得方法を選択するドロップダウンリストが表示されます。

データベースの情報からフィールド情報を取得する場合、フィールドの取得方法を以下の3つから選択します。

●検索条件を指定して該当するレコードからフィールドを取得

検索文字列を指定してフィールド情報を取得する場合に選択します。
指定した検索文字列はコンポーネントの「検索文字列」プロパティに設定されます。
検索文字列に何も指定しない場合、Notesデータベース内のすべての文書からフィールド情報を取得します。

「取得」ボタンをクリックして、フィールド情報を取得します。
取得したフィールド情報は、テーブルに表示されます。

画面構成

フィールド名
フィールド名が表示され、設定することができます。
データ型
フィールドのデータ型が表示され、設定することができます。
データ型はNotesフィールドデータ型からフローサービスのフィールドデータ型へ変換されて設定されますが、ドロップダウンリストで全てのデータ型を選択することが可能です。
「一覧から選択」時にユーザーが選択したデータ型が優先されますが、リストから一度削除されたフィールドを再度選択した場合は、Notesデータベースから取得したデータ型が使用されます。
フィールドのデータ型については「フィールド定義と値」を参照してください。
「一覧から選択」ボタン
「一覧から選択」をクリックすると、「一覧から選択」ダイアログが表示され、複数のフィールドを一度に追加することができます。
一覧で表示されるフィールドは選択したフィールド取得方法で取得した全フィールドと、コンポーネントが独自に設定している3フィールド「ASNOTES_UNIVERSALID」「ASNOTES_ATTACHMENTCOUNT」「ASNOTES_ATTACHMENTINFO」が表示されます。

フィールド名のチェックボックスにチェックを入れて「選択」ボタンをクリックするとフィールドが追加されます。
「挿入」ボタン
「挿入」ボタンをクリックすると、選択しているフィールドの上にフィールド行を追加します。
フィールド行を右クリックしても同様の操作が可能です。
「削除」ボタン
「削除」ボタンをクリックすると、選択しているフィールド行が削除されます。
フィールド行を右クリックしても同様の操作が可能です。
「上に移動」ボタン
「上に移動」ボタンをクリックすると、選択しているフィールド行が上に移動します。
フィールド行を右クリックしても同様の操作が可能です。
「下に移動」ボタン
「下に移動」ボタンをクリックすると、選択しているフィールド行が下に移動します。
フィールド行を右クリックしても同様の操作が可能です。
「保存」ボタン
設定した内容を保存してNotesビルダーを終了します。
「キャンセル」ボタン
設定した内容を破棄してNotesビルダーを終了します。

●フォームを指定してフィールドを取得

フォームを指定してフォームのデザイン情報からフィールドを取得する場合に選択します。

フォーム名のドロップダウンリストからフォームを選択します。
検索文字列を編集することができますが、フィールドの取得には影響ありません。
「取得」ボタンをクリックして、フィールド情報を取得します。
取得したフィールド情報は、テーブルに表示されます。

画面構成

「検索条件を指定して該当するレコードからフィールドを取得」と同じになります。

●ビューを指定してフィールドを取得

ビューを指定してビューのデザイン情報からフィールドを取得する場合に選択します。

ビュー名のドロップダウンリストからビューを選択します。
「取得」ボタンをクリックして、フィールド情報を取得します。
取得したフィールド情報は、テーブルに表示されます。
ビューからフォーミュラ値を取得できた場合、その値が「検索文字列」に設定されます。

画面構成

「検索条件を指定して該当するレコードからフィールドを取得」と同じになります。

注意

ビューを指定してフィールドを取得した場合、取得できるのはビューの列の値が「フィールド」である列だけになり、データ型はStringになります。