Strange Behavior

Discussion created by gmint on Dec 21, 2012
Latest reply on Apr 25, 2013 by ecshelp

I've been reworking a portal for a solution which I have updated to FMP 12 because it previously relied on portal filtering which is now extremely slow (read unusable) even with a relatively small (i.e. in the low hundreds). However, in the process of doing so, I've encountered some strange behavior. Granted, it probably has to do more with the fact that I'm overlooking something, but I thought I would ask around nevertheless, so here it goes...


What I'm trying to accomplish (and had working in FMP 11) was a search that works by narrowing down items in a portal as more characters are entered. It doesn't need to refresh after each character is entered, just when the user hits enter/return. So here's how I tried to set it up initially:


I have a Global field called SalesItemFilter where the search is entered.


I have another field called SalesItemMatchField which is a calculation as follows: Left ( ItemName ; Length ( SalesItemFilter ))


Therefore, let's say I'm looking for an item (Budweiser) and I type "Bud" into the SalesItemFilter field, then I also get: "Bud" in the SalesItemMatchField which should (at least in my mind) give me a match which generates the results I want in the appropriate portal. But, it doesn't.


So, I tried the same thing with a cartesian join for the relationship AND used the following as a portal filter:


ItemQuickFind::SalesItemFilter = ItemQuickFind::SalesItemMatchField


which also does not give me the correct results.


HOWEVER, and here's the odd part (again, at least in my mind), if I eliminate the cartesian join and use the relationship from the first example AND use the portal filter, it works. That seems duplicitive to me and, to be quite honest, I don't understand why it works there but does not work in either of the previous examples. Also, I'm afraid that it could break somewhere down the line and since I don't understand how it works, I won't be in a very good position to fix it.


Any insight would be greatly appreciated!