skip to main content
OpenEdge Getting Started: Progress OpenEdge Studio
Overview of SmartObject Technology : SmartObject technology
SmartObject technology
The SmartObjects in the main window of the sample application are based on SmartObject templates. Templates provide a starting point for creating master objects. At run time, you run a SmartObject that is an instance of a master. The OpenEdge Studio provides a starter set of SmartObject templates from which to build your own master objects. For example, in the SportsPro Order Tracking System, the SmartObject named bcust is a master based on the SmartDataBrowser (SDB) template.
A significant advantage of SmartObjects is that they are reusable. When you use a SmartObject master in an application, the AppBuilder does not code it directly into the window file. The AppBuilder only writes instructions to create an instance of the master. You can have many applications that use instances of a single master, and you usually use multiple instances of the same master in one application.
SmartObjects are specialized ABL (Advanced Business Language) procedures that run persistently. After a SmartObject performs a specific task, it remains in memory to respond readily to end‑user input and instructions from other SmartObjects. The SmartObject’s functionality is encapsulated in a framework of internal procedures (also known as methods). Internal procedures are procedure blocks defined inside the context of an external procedure. Certain internal procedures are common to all SmartObjects, others give each standard SmartObject class their unique characteristics. For more information about internal and external procedures, see OpenEdge Development: AppBuilder, OpenEdge Development: ADM and SmartObjects, and OpenEdge Development: ADM Reference.
Using SmartObjects in applications makes complex applications easy to maintain. Since all instances of a SmartObject master are based on one file, any change you make to that source file applies to every application that uses that master.