Release 10.1A: OpenEdge Development:
Open Client Introduction and Programming

> ## Remote 4GL methods

> ProxyGen maps each 4GL non-persistent procedure, internal procedure, and user-defined function that you expose on the AppServer, to a remote 4GL method. When invoked, each remote 4GL method executes the procedure (or user-defined function) on the AppServer, passes any parameter values, and makes any return values available to the Open Client.

> Note: If the 4GL persistent procedure has a super procedure, the proxy also contains remote 4GL methods for the super procedure, as long as the remote procedure declares the super procedure prototypes. For more information, see the information on programming for Open Client applications in OpenEdge Application Server: Developing AppServer Applications .

> ##### Identifying generated methods

> ProxyGen generates method names using automatic conversions and conventions. For more information, see Chapter 3, " Generating Proxies and Web Service Definitions." In addition, you can customize the method names in ProxyGen. Thus, each method name might not match the name of the corresponding 4GL procedure or function. As a reference for method names in your proxy, use the generated Java source files for Java clients, the generated assembly for .NET clients, and the WSDL for Web services.

> ##### Passing parameters

> ProxyGen maps 4GL data types to equivalent data types in the Open Client for 4GL `INPUT`, `OUTPUT`, and `INPUT-OUTPUT` parameters. For more information on data type mapping for your type of Open Client, see OpenEdge Development: Java Open Clients , OpenEdge Development: .NET Open Clients , and OpenEdge Development: Web Services .

> ##### Handling return values

> For any remote 4GL procedure, the corresponding proxy method can be customized to return the 4GL `RETURN-VALUE`; otherwise, the method returns void. Alternatively, after calling the method, the client can access the current value of the 4GL `RETURN-VALUE` function by calling the following common method for Java and .NET Open Clients:

> Java method |
>     _getProcReturnString
> .NET method |
>     _GetProcReturnString

> This method returns the current value of `RETURN-VALUE` as set by the `RETURN` statement most recently executed on the AppServer for this connection. It returns a string, which can be null, so the client should check for a 4GL unknown value(`?`). AppObjects, SubAppObjects, and ProcObjects all support this method.

> The `RETURN-VALUE` function is set in the 4GL using the `RETURN string` or the `RETURN ERROR` `string` statement. For more information on these statements, see OpenEdge Development: Progress 4GL Reference , and for how they function in an AppServer application, see OpenEdge Application Server: Developing AppServer Applications .

> For any remote user-defined function, ProxyGen defines the corresponding method to return a value that is compatible with the 4GL data type returned by the user-defined function.

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