runOnServer
Run an application from the Genero Application Server using the specified URL.
Syntax
ui.Interface.frontCall("mobile", "runOnServer",
[ appurl, timeout ], [] )
- appurl - The GAS URL to the Genero application (this must be a
ua/r
URL). - timeout - The timeout (in seconds) to wait for the remote application.
Usage
The runOnServer
front call allows you to start an application in the Genero
Application Server (GAS), from an embedded/local application running on the mobile device. The
remote application's graphical user interface displays on the mobile device.
The front call returns when the called application ends, and the control goes back to the initial application executing on the mobile device.
The applications executed on the GAS server must use the UTF-8 encoding. Mobile front-ends will reject any attempt to display forms of an application using an encoding other than UTF-8.
The remote application cannot use RUN WITHOUT WAITING
to start child programs.
Only RUN
is supported.
The first parameter (appurl) identifies the remote application to be started
and must contain an "ua/r
" URL syntax (the UA protocol introduced with the GAS
3.00).
For example: http://myappserver:6394/ua/r/myapp
.
This URL may contain a query string, with parameters for the application to be executed by the GAS.
The timeout parameter is optional. It can be used to give the control back to the local app, if the remote app takes too long to respond. If not specified, or when zero is passed, the timeout is infinite.
In case of failure (such as application not found, or timeout expired), the front call raises the runtime error -6333 and the HTTP status code of the request can be found in the error message details.
runOnServer
front call. File handling APIs like fgl_getfile()
and
fgl_putfile()
can only access this directory on the mobile device. If no absolute
path is specified in the file path for the mobile device, the
data-directory is used.Example
TRY
CALL ui.interface.frontcall("mobile","runOnServer",["http://santana:6394/ua/r/orders"],[])
CATCH
ERROR err_get(STATUS)
END TRY