Progress
Open Client
Developer’s Guide


A Sample Management Scenario

A Progress developer at company ABCPets designs and develops an inventory system for pet shops using the AppBuilder (.w files). These source files are in the directory c:\ABCPets\Source\Inventory. The files are compiled and the r-code files are placed in c:\ABCPets\Bin\Inventory. ABCPets wants to package this functionality for Java clients. You run GUI ProxyGen and supply the following information:

You customize the method definition for AddInventory() to not allow the 4GL unknown value (?) for either parameter. You also explicitly exclude ValidateInventory(). Note that the internal procedure UpdateInternals() is defined with the PRIVATE keyword and does not appear in ProxyGen as a procedure to include or customize.

When you choose the Generate button, you supply the following information:

Proxy generation places the Java proxy (the .class files) into c:\Proxies\com\ABCPets, and creates the activity log as c:\Proxies\Inventory.log. The generated Java files include:

You then change p-Cust.w but do not change the signature of AddInventory() (AddInventory(INTEGER, INTEGER)). You add new internal procedures to the persistent procedure p-Cust.w. These changes only require you to regenerate the proxy as long as you want them included. New non-PRIVATE internal procedures are added as methods automatically with default definitions. In order to exclude them, you have to run GUI ProxyGen. Also any changes in or the removal of ValidateInventory() do not cause validation errors because it is excluded from the proxy definition and is not validated.

You decide to run Batch ProxyGen as part of a regular build cycle so that any similar changes in the 4GL are automatically picked up.

Later in the development cycle, you add a new procedure file for inventory called Orders.w. This procedure file is saved in c:\ABCPets\Source\Inventory and the r-code file is placed in c:\ABCPets\Bin\Inventory. You then run GUI ProxyGen before the scheduled build and add this procedure file to the Inventory AppObject.

You make another change to the AddInventory() procedure, which now takes a third parameter (CHARACTER). Because this is a new parameter, it automatically gets the default (AppObject) setting to allow unknowns. If you want to disallow the unknown value for this parameter, you must run the GUI version of ProxyGen before the scheduled build and update the customizations for this procedure.


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