function
| Library: LDAP support (OMLDAP) Import : omldap.xmd | 
define external function ldap.search
             value      ldap.connection connection
     base    value      string          base
     scope   value      integer         scope      optional
     where   value      string          filter
     into    modifiable ldap.attribute  result
     format  value      integer         format     optional
     selects read-only  stream          attributes
or
  define external function ldap.search
             value      ldap.connection connection
     base    value      string          base
     scope   value      integer         scope      optional
     where   value      string          filter
     into    modifiable ldap.attribute  result
     format  value      integer         format     optional
     select  remainder  string          attribute
       and ...
Where:
Argument definitions
The ldap.search function executes a search on the LDAP server specified by ldap.connection.
The following example searches one level deep from the base of "stilo.com" for the name, employee number, and telephone number of all employees in the R&D department.
The ldap.attribute shelf contains the selected attributes from the first entry that satisifed the search, keyed by the attribute name.
ldap.advance-entry advances to the next entry satisfying the search. ldap.entry-exists returns false when there are no more entries.
import "omldap.xmd" prefixed by ldap. process local ldap.connection my-ldap local ldap.attribute my-entry variable set my-ldap to ldap.open 'www.stilo.com' ldap.search my-ldap base "o=stilo.com" scope ldap.scope-onelevel where "(Department=RD)" into my-entry select "name" and "employeenumber" and "phonenumber" repeat exit unless ldap.entry-exists my-entry output ldap.entry-name of my-entry || "%n Name: " || ldap.reader of my-entry{"name"} || "%n Number: " || ldap.reader of my-entry{"employeenumber"} || "%n Phone: " || ldap.reader of my-entry{"phonenumber"} || "%n" again ldap.advance-entry my-entry again