@NameLookup (式言語)

指定されたユーザー名をすべての Domino ディレクトリで検索し、ユーザー名ごとに 1 つの文字列値を格納したリストを返します。

注: この @関数は R5 で新しく追加されました。

構文

@NameLookup( [ lookupType ] ; username; itemtoreturn )

パラメータ

[ lookupType ]

キーワード。実行する検索の種類を指定します。次のキーワードを 1 つ以上指定します。各キーワードは、コロンで区切ります。

[NoUpdate]

デフォルトです。ユーザー名のリストを返します。Notes API の NAME_LOOKUP_NOUPDATE フラグに対応します。このキーワードは、 [ForceUpdate] キーワードを除く他のキーワードと共に指定できます。

[ForceUpdate]

名前空間 (ビュー) を強制的に更新します。Notes API の NAME_LOOKUP_UPDATE フラグに対応します。このキーワードは、 [NoUpdate] キーワードを除く他のキーワードと共に指定できます。

以下のキーワードは、[NoUpdate] キーワードまたは [ForceUpdate] キーワードと共に指定できます。

[NoSearching]

[($Users)] ビューが含まれている最初の Domino ディレクトリ (つまり、ローカル Names.nsf データベース) のみを検索し、指定されたユーザー名ごとに 1 つの文字列値を格納したリストを返します。このキーワードは、メールサーバーのディレクトリからは値を取得しないことを指定します。一致するものが見つからなければ、空の文字列 ("") を返します。Notes API の NAME_LOOKUP_NOSEARCHING フラグに対応します。

[Exhaustive]

一致するユーザー名が見つかったとしても、すべてのディレクトリで username 引数に含まれる各値を検索します。このオプションを使用しない場合、各ユーザー名の検索は、一致するユーザー名が含まれる最初のディレクトリで終了します。ただし、そのディレクトリから複数の一致を返すことはできます。このキーワードは、ローカル Names.nsf データベースからの値だけでなく、メールサーバーのディレクトリからの値も返します。メールサーバーが使用できない場合、または現在のロケーション文書の [受信者名の入力補完機能] が [無効] または [ローカルのみ] の場合は、現在のネームサーバーから値を取得します。LDAP が使用されている場合は、LDAP ディレクトリからも値を取得します。一致するものが見つからない場合は、ユーザーの値は省略されます。

[Exhaustive] 引数が指定されていない場合、ユーザーのローカルアドレス帳に含まれる値によって、サーバーディレクトリに含まれる値が隠されます。例えば、ユーザー名が "Smith" で、ローカルアドレス帳に "Mary Smith" のエントリがあるとします。[Exhaustive] を指定しない限り、@NameLookup はサーバーアドレス帳に含まれる "George Smith" のエントリに気付かず、Mary に関する情報だけを返します。

[TrustedOnly]

信用情報が含まれている Domino ディレクトリだけを検索し、指定されたユーザー名ごとに 1 つの文字列値を格納したリストを返します。一致するものが見つからなければ、空の文字列 ("") を返します。Notes API の NAME_LOOKUP_TRUSTED_NAMESPACES フラグに対応します。

username

文字列または文字列リスト。Domino ディレクトリから情報を取り出す Notes/Domino のユーザー名またはその別名を指定します。

itemtoreturn

文字列。情報を取り出す Domino ディレクトリ連絡先文書のアイテム名またはフィールド名です。

戻り値

valuelist

文字列リスト。@NameLookup は、一致するユーザーごとに 1 つの値を格納したリストを返します。指定された username 値が複数のユーザーと一致する場合、一致するユーザーごとに 1 つのエントリが返されます。[Exhaustive] が指定されていない限り、一致するユーザーが見つからなかったユーザー名に対しては、空の文字列が返されます。

一致する各連絡先文書から複数の値が返されることは決してありません。 要求フィールドが多値フィールドの場合 (例えば、FullName フィールド)、そのフィールドの最初の値だけが返されます。

使用法

@NameLookup は、フォーム選択式とビュー列式では使用できません。

サーバーディレクトリのデータをこの関数の戻り値に含めるようにするには、現在のロケーション文書の [メール] タブで [受信者名の入力補完機能] を [ローカルからサーバー] に設定する必要があります。

LDAP ディレクトリを含む 2 次ディレクトリからの全ユーザーは、最初に認証が必要です。続いて Domino サーバーによって管理される Notes/Domino データベースに対するアクセスが許可されます。マスター Domino ディレクトリから派生したディレクトリアシスタンスは、信頼された名前の規則を使用してユーザーを認証します。認証されたユーザー名は、信頼された名前のリストに追加されます。次に、アクセス許可のためにこのユーザー名と ACL との比較が行われます。

LDAP ディレクトリの検索の詳細については、『Notes ヘルプ』の「インターネットディレクトリで宛先を検索するよう Notes を設定する」を参照してください。

ローカル環境に、Names_A.nsf、Names_B.nsf、Names_C.nsf という 3 つの Domino ディレクトリがあるとします。各 Domino ディレクトリには次のエントリが入っています。
 

Names_A.nsf

Names_B.nsf

Names_C.nsf

View: ($Users)

存在しない

存在する

存在する

User: Katsushi

User: Katsushi

Item: Katsushi_A

User: Katsushi

Item: Katsushi_B

User: Katsushi

Item: Katsushi_C

User: Jones

User: Jones

Item: Jones_A

User: Jones

Item: Jones_B1

Item: Jones_B2

存在しない

User: Smith

User: Smith

Item: Smith_A

存在しない

User: Smith

Item: Smith_C

User: Yoshito

存在しない

存在しない

存在しない

  1. 次の式では、"Katsushi_B" : "Jones_B1" : "Smith_C" : "" が返されます。
    @NameLookup ( [NoUpdate]; "Katsushi":"Jones":"Smith": 
                 "Yoshito"; "Item")
    @NameLookup ( [ForceUpdate]; "Katsushi":"Jones":"Smith": 
               "Yoshito"; "Item")
  2. 次の式では、"Katsushi_B" : "Jones_B1" :"" : "" が返されます。
    @NameLookup ( [NoSearching]; "Katsushi":"Jones":"Smith": 
               "Yoshito"; "Item")
  3. 次の式では、"Katsushi_B" : "Katsushi_C" : "Jones_B1" : "Jones_B2" : "Smith_C" が返されます。
    @NameLookup ( [Exhaustive]; "Katsushi":"Jones":"Smith": 
               "Yoshito"; "Item")
  4. 現在のユーザーがソフトウェアエンジニアの場合、次のコードをフィールドのデフォルト値として追加すると、SOFTWARE ENGINEER と表示されます。
    @NameLookup([Exhaustive];@UserName;"JobTitle")