From m204wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Determine whether running a web request

$Web indicates whether the current processing is the result of a request to Janus Web Server.

$Web takes no arguments and returns either a 0 or a 1.


%rc = $Web

Return codes

Code Meaning
0 Not running a web request.
1 Running a web request.

Usage notes

  • The $Web function is most useful for:
    • Preventing code that should only be run for a web request from running for 3270 (or other non-web) requests.
    • Ensuring that non-web, possibly 3270 specific code, is not run for web requests.
    • Under Model 204 7.8 and later, transactional daemon descendants of a web thread can also access the web API. However, $Web returns 0 on these threads. To check if the web API is available regardless of the thread type use $Web_Api.

    In the example below, the variable %DISTRICT is set from a form field when running a web request and from a screen field otherwise:

    if $web then %district = $web_form_parm('DISTRICT') else %district = %query:district end if

  • $Web has several advantages over other techniques for determining whether a request is running a web request, such as checking $Web_Port or doing a $VIEW('IODEV'):
    • It is syntactically simple and easy to understand.
    • It works correctly even when a request is being debugged using JANUSDEBUG.
    • It works correctly and does not cause a "CONNECTION WAS LOST" user restart after the connection was closed either with a $Web_Done or by the browser. This can be especially useful if there is web-specific processing, like APSY navigation code, that happens after a $Web_Done.