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つずつ出力します。「いいえ」の場合は、クエリーで適合したレコードのすべてを一度に出力します。

■トランザクション処理

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

■エラー処理

タイプパラ
メータ
エラー処理フロー
へのストリーム
エラー
コード
説明
レコードが無い なし コンポーネントの入力ストリーム なし 検索されたレコードが無い場合
汎用 なし コンポーネントの入力ストリーム なし コネクション名に指定したコネクションが見つからない場合
なし Notesサーバーに接続できない場合
なし 選択されたNotesデータベースを見つけることができなかった場合
なし 検索が失敗した場合
なし コネクション名に指定したコネクションのユーザーがデータペースへのアクセス権を持たない場合

■動作に必要な設定

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

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

注意

フローサービスとフローデザイナーが別のマシンにインストールされている場合、Notesクライアントをそれぞれのマシン上で同じパスにインストールする必要はありませんが、ユーザーのIDファイルはそれぞれのマシン上で同じパスに配置してください。

フローサービスのマシンに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など)を追加します。

フローデザイナーのマシンにNotesクライアントを設定する

フロー作成時に本コンポーネントのNotesビルダーからDominoサーバーと通信できるようにNotesクライアントが必要です。フローサービスのマシンと同様の設定を行います。

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

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

注意

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

フローデザイナーにNotesAPIライブラリをコピーする

Notes.jarファイルを以下のディレクトリにコピーします。コピー後、フローサービスを再起動します。

ライブラリを配置するディレクトリ

[DESIGNER_INSTALL_DIR]/lib

注意

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

フローデザイナーのマシンでWindowsの環境変数PATHへ追加する

フローデザイナーとNotesクライアントの通信のために、Windowsの環境変数PATHに対して、Notesクライアントのインストールディレクトリパスを追加します。フローサービスのマシンと同様の設定を行います。

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

コネクションの接続設定

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

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

■フローサービスを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の権限を確認してください。

●スキーマ取得の選択

データベースを選択すると、データベースからスキーマを取得するかどうかを選択するダイアログボックスが表示されます。このダイアログボックスに表示される「スキーマ情報」とはデータベース内のノーツ文書に含まれるフィールド名のことです。