>I have a standard business object that has one local view in its data environment. The view has two parameter fields and is based on three tables. When I instantiate the object, enter the parameters and execute the "Requery" method, I get the "View Definition has been changed" error. However, if I browse the local view and enter the same parameters the view successfully accesses the proper data.
I think the error code (1494, if I remember correctly) is also something to search for - I remember I had a thread like that a couple of months ago.
Another reason for the error may be the use of nvl() function - if the lengths of the values it returns may be different for any reason. I know how this bit me - I used nvl(field, 0000) on a three-digit field. The view was open with NoDataOnLoad (in VFE, but I think MM doesn't differ here), so its structure was decided by the null case, and this field came in as n(4). On the next requery, it would be n(3), because it got the real field now.
Basically, anything that
can return values of varying length should be tamed into a fixed length. In my case, it should have been nvl(field,0)+000. Any string should be pad()ed to desired length.