smmContactPerson form / max buffer size issue

My company is in the process of upgrading from AX 2012 RTM to R3. I’m currently working in a test R3 environment.
I’m having a problem with the AX contact form (smmContactPerson) that’s used for customer contacts, vendor contacts, and so on.
When trying to open the form, we get a max buffer size error:
“The total, internal size of the records in your joined SELECT statement is 81152 bytes, but Microsoft Dynamics is by default performance-tuned not to exceed 49152 bytes.”
We’ve had max buffer size issues with a number of forms, and I think it’s largely due to the large number of DEL_ fields in some of the tables. (We can’t actually drop the DEL_ fields from the tables yet, though of course that would be the best solution.)

I increased the buffer size on my test server to 128k, then opened the form with trace parser running. Indeed, there’s a really big SQL statement pulling in all fields from ContactPerson, DirPartyTable, and a few other tables.
I’ve been trying to figure out how to get the size of the SQL statement down, but I’m not having quite enough luck, and I seem to be misunderstanding some stuff, and/or doing some stuff wrong.

First, I thought I could get the SQL statement to drop unused fields by setting OnlyFetchActive to Yes on the data sources on the form. But that doesn’t seem to have any effect.

Second, someone told me that setting the DEL_ fields to Visible=No on the table itself would cause them to drop off the SQL statement. But that didn’t help either.

I have found that (after making the above changes) duplicating the smmContactForm to a new form, then opening that new form, gives me a smaller SQL statement with the DEL_ fields gone. And that gets the select statement down to 57064 bytes, which is a bit better, but still over 48k.

I feel like there’s probably something I’m missing here, some step that would let me get all of the DEL_ fields out of the SQL statement that’s being used on the actual smmContactPerson form, but I’m not sure what that is. If anyone has any hints on this, please let me know. Thanks!

After you duplicated the form, did you changed anything ? You might are using an outdate version of form. Did you tried to clean user cache ?

Wow, clearing my usage data was the one thing I didn’t try. I just did that, and now the regular form’s query is down to the same size as the copy’s. Now that I think about that, I guess it (almost) makes sense. Thanks!

The query is now 57k or 66k, depending on which kind of contact I’m pulling up. So that’s a lot better than the 80k+ it was before. And now that I know i need to clear usage data after tweaking anything, I should be able to make some more progress.

I’m glad to help, if your issue is solved, just confirm it by pressing “Verify Solution”. Thanks.