Consultor Eletrônico



Kbase P13820: ADM. Migrating SmartObjects from 8.0 to 8.1 or higher
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/12/2003
Status: Unverified

GOAL:

ADM. Migrating SmartObjects from 8.0 to 8.1 or higher

GOAL:

** Unknown Field or Variable name - <field-name>. (201)

FACT(s) (Environment):

Progress 8.x

FIX:

MIGRATING SMARTOBJECTS TO 8.1 AND HIGHER

Progress Version 8.1 includes many enhancements and performance improvements to the ADM.  You must do the following to take advantage of these changes:

1) You must open and save all SmartContainer objects in the UIB.  A SmartObject Upgrade Utility has been created to automate this process.  This utility is available from PRO*Tools and is documented in PRO*Tools online help and
the Product Update Bulletin.

If you do not open and save these objects you will get the following error if you try to re-compile any SmartContainers:

** Unknown Field or Variable name - adm-current-page. (201).

2) You must also re-compile your entire SmartObject application to gain the ADM enhancements and bug fixes from the ADM include files.

3) If you added code to the ADM that implements similar enhancements or fixes the same bugs as 8.1 then you should examine and perhaps remove or modify your changes.  Refer to knowledgebase entry 16167: Statement to Programmers on New
Releases of ADM code.

4) If you have defined your own attributes with your own instance attribute dialog box for a SmartObject master, these attributes must now be added to the preprocessor value adm-attribute-list in order to be saved with each instance of the SmartObject.

The value of adm-attribute-list may be modified in the appropriate Method Library include file (e.g., browser.i, containr.i, viewer.i), in a 'wrapper' include file, or in the SmartObject itself. The new definition of adm-attribute-list should always include the standard attributes as well as your own.


RUNNING 8.0A COMPILED SMARTOBJECTS WITH 8.1A OR HIGHER

If you have a fully compiled SmartObject application and and do not need to do further development before deploying with 8.1 or higher you can deploy 8.0 r-code with 8.1 without re-compiling or loading and saving your SmartObjects in
the UIB.

In order to do this you will need to use the all the 8.0A ADM r-code (all of DLC/gui/adm/support and DLC/gui/adm/objects) in order to run the 8.0A compiled
SmartObjects with the 8.1A executable.  Note that all the ADM code, the broker, the other files in the objects directory and all the include files, are really a part of your application and must be used as a unit to maintain consistent behavior.  You should create a directory structure and modify your propath to enable you to point to the 8.0A ADM r-code and still maintain the 8.1A ADM
r-code for future development.  Refer to knowledgebase entries 15815: Modifying ADM support code and 16478: Workaround for Error 4114 When Cancel a SmartObject Add for examples of how to do this.

There have been significant changes to the broker (located in DLC/gui/adm/objects) for the ADM enhancements.  Therefore, the broker must have the same ADM-VERSION as the SmartObjects that are running with it.  This also means that if you need to do any further development with any of your SmartObjects you will need to upgrade and re-compile ALL of your SmartObjects (see Migrating SmartObjects to 8.1 above). You can check the ADM-VERSION attribute of the broker and of SmartObjects that are running with the SmartInfo button from PRO*Tools Procedure Object Viewer.

By running 8.0 compiled SmartObjects with 8.1 or higher, you will NOT gain any of the ADM enhancements or bug fixes included in the 8.1 or higher ADM code.  Refer to knowledgebase entry 16313: Bug fixes fixes for the ADM in Progress Version 8.1.