PreviousNextIndex

AMBIGUOUS function

Returns a TRUE value if the last FIND statement for a particular record found more than one record that met the specified index criteria.

Syntax

AMBIGUOUS record 

record
Example

The following example retrieves a customer record based on a name (cname) supplied by the user. If the procedure finds a record, it displays fields from that record. If it does not find a record because more than one record matched the selection criteria (name = cname), it displays the message: “There is more than one customer with that name.” If it does not find a record because no records matched the selection criteria, it displays “Cannot find customer with that name”.

r-ambig.p
DEFINE VARIABLE cName NO-UNDO LIKE Customer.Name LABEL "Cust Name". 
REPEAT: 
  SET cName. 
  FIND Customer NO-LOCK WHERE Customer.Name = cName NO-ERROR. 
  IF AVAILABLE Customer THEN 
    DISPLAY Customer.CustNum Customer.Address Customer.City Customer.State 
      Customer.PostalCode. 
  ELSE IF AMBIGUOUS Customer THEN 
    MESSAGE "There is more than one customer with that name". 
  ELSE  
    MESSAGE "Cannot find customer with that name". 
END. 

Sometimes the AMBIGUOUS function returns a TRUE value when there is no ambiguity. For example, if there is exactly one customer record, the following statement finds that record. Otherwise, the following statement always returns a message of “not found” rather than “ambiguous”:

FIND Customer WHERE Customer.Name BEGINS "". 

Additionally, the following statement succeeds if there is only one Smith listed in the database:

FIND Employee WHERE Employee.LastName = "Smith" 
  AND Employee.FirstName BEGINS "". 

Note

AMBIGUOUS is useful only when there is an index. If you use the AMBIGUOUS function to test a work file record, the function returns a value of FALSE because work files do not have indexes.

See also

AVAILABLE function, FIND statement, LOCKED function, NEW function (record buffers)


OpenEdge Release 10.2B
Copyright © 2009 Progress Software Corporation
PreviousNextIndex