/ Forums / Advansys Formativ / Creating Solutions with Formativ / Filter in GroupWise Address Book for logged-in user / Reply To: Filter in GroupWise Address Book for logged-in user
I am not sure why you get the error ‘Invalid procedure call…’ That line of code works fine for us (GroupWise 6.5.1). What version of the GroupWise client are you using?
Novell’s online documentation here notes the method AddressBookEntries.Find does not support the BEGINSWITH operator.
The properties of Address object GroupWise.Account.Owner are fixed (see the API documentation). The Object API knows nothing about admin-defined fields, so you cannot retrieve your FullName property in this way.
Below is a complete sample applet. Note that collections such as AddressBookEntries, Fields are 1-based (not zero-based, like VBScript arrays).
-------------------------------------------------------------------------------- ' Displays a dialog, listing every field in the first ' address book entry matching the logged-in user. sub Main(Client, GWEvent) dim iUserId dim iText dim oEntry dim oEntries dim oField dim oFields dim oAddressBook set oAddressBook = GroupWise.Account.AddressBooks.Item("Novell GroupWise Address Book") iUserId = Groupwise.EnvUserID() set oEntries = oAddressBook.AddressBookEntries.Find("(<E-Mail Address> CONTAINS """ & iUserId & """)") if oEntries is nothing then msgbox "oEntries is nothing. Quitting" exit sub end if set oEntry = oEntries.Item(1) set oFields = oEntry.Fields iText = "" for each oField in oFields iText = iText & "Name: " & oField.Name & ", Value: " & oField.Value & vbCrLf next msgbox iText set oField = nothing set oFields = nothing set oEntry = nothing set oEntries = nothing set oAddressBook = nothing end sub --------------------------------------------------------------------------------
Advansys Support