>>>>The 'classic' solution is grid based on p-view. Is SQL rushmore optimized? DO you have tag on DELETED()? How many records do you expect in the grid, and how many records in payment table?
>>>
>>>Edward:
>>>
>>>Thanks for jumping in here. No, I do not have a tag on DELETED(). The SQL should be optimized (insofar as I understand things): the WHERE clause is simply WHERE Payment.InvFKey = Invoice.PKey. Since an index exists for both fields, shouldn't that be all that's needed?
>>>
>>>BTW, what is a "p-view"? Pardon my ignorance, but that is a new term for me.
>>>
>>>Again, I really appreciate your help.
>>
>>You must have tag on DELETED() (in this paticular case in Payment table at least). Try it and if it still a problem, let me know. Also, you may use SYS(3054) to check query optimization status.
>>P-view is UT slang for parameterized view.
>
>Edward:
>
>We're getting closer here! I have a tag on DELETED() and SYS(3054,1) tells me that the payment table is fully optimized. I think my problem now is that the view is not correctly created: I get ALL payments, no matter which invoice I have selected. Am I correct that: 1. I need no join condition here. 2. My filter (in the view builder) is Payment.InvFKey = Invoice.PKey. This has to be wrong...??? Should it be Invoice.PKey = v_Payments.InvFKey??
>
>Thanks again for the help. Maybe this is the last time I have to bug you with this issue . . . .
>
>John
It should be Payment.InvFkey=?nInvkey and view should be based on Payment table only.
Edward Pikman
Independent Consultant