PDA

View Full Version : A problem with pbSmartRelate



Emil Preter
1-Mar-2016, 08:01 AM
pbSmartRelate

Today I found the first location where my source doesn’t work like in version 18.0.

And this gives me a question:
How can I find all locations in my source where I have to set pbSmartRelate to false? Is there an easy way?

Or

Is it possible to set pbSmartRelate to false global at only one Location?

Clive Richmond
1-Mar-2016, 09:28 AM
Hi Emil,


Today I found the first location where my source doesn’t work like in version 18.0

How did the problem manifest itself? I assume you were relying on a relate finding a record for a table not connected to the server structure?


Is it possible to set pbSmartRelate to false global at only one Location?

If you have subclassed the data-dictionary package you can set it here.

Michael Mullan
1-Mar-2016, 11:25 AM
Usually this is an issue because you're depending on a (parent) table that does not actually exist in the DD structure you're working with. It bit me where I had a DD method called from within a For_all loop. The DD method was clearing the record I was working with, and then refinding the first child.

I look closely at all for_all loops, and BPO's and places where you use code to update other tables.

MM.

(Also, i wouldn't just turn smart relates off, they serve a useful purpose, and will force you to write cleaner code. !)

MM.

Bob Worsley
1-Mar-2016, 12:41 PM
How can I find all locations in my source where I have to set pbSmartRelate to false? Is there an easy way?

Here (http://www.inforapid.de/html/searchreplace.htm)