$Web

From m204wiki
Revision as of 22:24, 15 June 2012 by JAL2 (talk | contribs) (→‎Syntax)
Jump to navigation Jump to search

<section begin="desc" />Determine whether running a web request<section end="desc" />

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

Syntax

<section begin="syntax" /> %RC = $Web <section end="syntax" />

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

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

$WEB return codes

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 and for ensuring that non-web, possibly 3270 specific code is not run for web requests.

IF $Web THEN %DISTRICT = $Web_Form_Parm('DISTRICT') ELSE %DISTRICT = %QUERY:DISTRICT END IF

In this example, the variable %DISTRICT is set from a form field when running a web request and from a screen field otherwise. $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'):

  1. It is syntactically simple and easy to understand.
  2. It works correctly even when a request is being debugged using JANUSDEBUG.
  3. 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.