Release 10.1A: OpenEdge Development:
AppBuilder

> ## Populating and configuring a SmartBusinessObject

> You have four major tasks when configuring your SmartBusinessObject master:

> 1. Determine what data this object will supply and decide how you will divide the total effort.

> In general, consider using one SmartDataObject per table. You can populate your SmartBusinessObject with a maximum of twenty SmartDataObjects.

> 2. Create and place the SmartDataObjects, add `DATA` links to represent the logical dependencies among them, and identify the foreign-field (relational) mappings.

> For detailed information about creating and placing SmartDataObjects, see the "Synchronizing SmartDataObjects using DATA links" section.

> 3. Determine whether the users of your application are more likely to prefer efficiency or completeness when browsing the data stream and set the property `CascadeOnBrowse` accordingly. This is a somewhat subtle issue. See the "How the CascadeOnBrowse property works" section for further information.

> 4. Determine your validation needs and create the appropriate routines to perform those tests.

> The SmartBusinessObject makes it easier to perform comprehensive validation tests. Besides the tests local to each SmartDataObject, you can write validation routines that run in the SmartBusinessObject itself. The SmartBusinessObject can see the Update tables belonging to each of its contained SmartDataObjects and you can take advantage of that fact to create whole-stream validation.

> Within the SmartDataObjects themselves, their update tables all have the same `RowObjUpd` identifier. Since they have separate namespaces internally, this is not a problem. But at the level of the SmartBusinessObject, each such update table needs a unique name. The `ObjectName` property serves that purpose.

> So if your SmartBusinessObject contains two SmartDataObjects to which you have given the `ObjectNames` `CustSDO` and `OrderSDO`, you can write code referring to fields in their respective `RowObjUpd` tables as `CustSDO.``SomeFieldName` and `OrderSDO.``SomeFieldName` and everything will work as you intend.

> For additional information about creating validation routines, see OpenEdge Development: ADM and SmartObjects .

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095