Release 10.1A: OpenEdge Development:
Progress Dynamics Administration

> ## Development impact using generated-4GL objects

> The primary development constraint with using generated-4GL static objects in your application is that you can run most such objects only within a generated-4GL container object. So, with one exception, if you decide to deploy a contained instance as a generated-4GL static object, you must also deploy the container as a generated-4GL static object.

> The exception to deploying dynamic containers as generated-4GL objects is for dynamic TreeView windows. Because the detail frame objects (run by clicking the nodes of a TreeView) run as master objects, they receive none of their rendering properties from their parent container objects (the dynamic TreeView windows). So, you can run generated-4GL detail frame objects within either dynamic or generated-4GL TreeView windows.

> The 4GL Generator mechanism is primarily designed as a performance-enhanced deployment feature. However, if you use generated-4GL static objects in your application, some Dynamics APIs play a particular role in executing these objects that you might need to manage.

> Table D–3 lists the APIs that play a particular role and describes how they work with generated-4GL static objects.

> Table D–3: APIs for running generated-4GL static objects
> Name | Manager or class | Description
> --- | --- | ---
>     menuItemSecurityCheck
> | Security manager | Checks the security settings for a specified menu item.
>     menuStructureSecurityCheck
> | Security manager | Checks the security settings for a specified menu structure.
>     launchContainer
> | Session manager | Launches containers. This is the primary point for launching top-level containers, such as menu controller, TreeView, and other windows. It is the API that searches for the generated-4GL for this type of object before attempting to retrieve and render its dynamic equivalent from the Repository.
>     startDataObject
> | Repository manager | Starts SmartDataObjects. It is the API that searches for the generated-4GL SmartDataObject before attempting to retrieve and render its dynamic equivalent from the Repository.
>     retrieveBandsAndActions
> | ADM toolbar | Encapsulates the retrieval and population of the toolbar temp-tables. This call includes the current call to `rygetmensp.p` and also attempts to populate the menu temp-tables using the generated `adm-loadSmartToolbar()` call both in the toolbar’s container (for object menus) and in itself (for toolbar menus).
>     constructObject
> | ADM container | Launches contained objects. This API starts the object and sets up Page (if relevant) and Container links. It searches for the generated-4GL for the object before attempting to retrieve and render its dynamic equivalent from the Repository.
>     getMappedFileName
> | Repository manager | Returns the full pathname for a given logical object name. This API uses the map file concept to determine the filename. If it cannot find a physical file, the API returns the Unknown value (?).

> For more information on the manager APIs that interact with generated-4GL objects, see OpenEdge Development: Progress Dynamics Managers API Reference . For information on the ADM APIs, see OpenEdge Development: ADM Reference .

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