How to open and read a view correctly in C API

I created a view with EmployeeID as the first column. Other columns are re-formated with Formula. For example, column four is populated with @TRIM(@NAME([CN];MailServer)) and column five with @TRIM(@NAME([CN];MailFile)). I named column one as EmployeeID, column 4 MailServer and column 5 MailFile. That is, I use their original field names as the column names. I use C API for Lotus 6.5 and NameLookup2 and its associated APIs to retrieve data.

The problem I experience are:

  1. If I create the view as “People\SSO View” with alias SSOVIEW, NameLookup2 is unable to locate and open the view via the view name or alias. When I rename the view to $SSOVIEW, NameLookup2 can locate and open immediately via the view name. Any one knows the naming convention used by NameLookup2?

  2. Regardless what column name I give to column one, NameLookup2 is always able to locate an employee id if I populate the first column with employee ids. So, does NameLookup2 always use the first column as the key column to find a match? Column names do not matter at all?

  3. Although I open a specific view and retrieve values from other columns. I find out very interesting that values returned by NameLocateItem2 are the one from the original Notes Database without any formula translation. I thought View in Notes may behave similar to view in a database such as Oracle. What you see in a view is what you get when you retrieve. It seems that is not the case with Notes. May someone give me some insight on how view works?

  4. One column is hard-coded so far. I intend to use DbLookup in future to populate from other Notes databases. When I specify such “external” column and use NameLocateNextName2, I am unable to get any data at all. When I change to any column from the Notes database (from which I created the view), I can get some data. That puzzles me.

Background for the questions: I am working on a single sign-on project for iNotes mail and need to code my own DSAPI filter. From the browser cookie, I have the employee id. I have to use the employee id to populate all other necessary Notes information to authenticate a user. The filter is coded in C on Win2000.

The problem I described above also apply to NameLookup.

Any tips on how to quick retrieve user information with employee id as a key would be very appreciated.

Thanks in advance.

Subject: The question is how to work effectively with Domino directory

Views mentioned in the article are created from Domino directory.