I'm not quite certain why this particular variation of CAN-FIND doesn't parse, but I get:

org.prorefactor.refactor.RefactorException: can-find.
p:7:8: unexpected token: CAN-FIND

However a lot of other instances of can-find do seem to parse just fine.
Corresponding sample below & as an attachment.

================ can-find.p ================

File : can-find.p
Purpose : demonstrate a parsing error using CAN-FIND

WHERE Customer.Name = "asdf")
MESSAGE "not reached as there is no such customer".
MESSAGE "should not reach this point unless you've added a customer with that name".

can-find.p498 bytes

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
john's picture


Hi David,
I get that error only if I try the parse when "Customer" is an invalid table name. If I first load into proparse the sports2000 project (for example), it parses fine.
Is it possible your proparse environment is simply missing the appropriate table name?
The "unexpected token" error is basically a catch-all, and is rather misleading in this case. It would probably be more sensible if it said something like "unable to understand after...".


This is working fine on retest with the latest build.

Hi John, I will retest to

Hi John, I will retest to validate that. I should probably have noted that I'm using the iso-8859-1 encoding in case that may be germane.

Thanks again,


Cringer's picture

Don't suppose it's the new

Don't suppose it's the new line in the predicate?

tamhas's picture

I'd more likely guess it is

I'd more likely guess it is the NOT, but who knows?