$Web Proc Send or $Web ProcSend: Difference between revisions
mNo edit summary |
m (moved $Web Proc Send to $Web Proc Send or $Web ProcSend) |
(No difference)
|
Revision as of 15:18, 8 December 2011
<section begin="desc" />Add contents of procedure to response<section end="desc" />
$Web_Proc_Send adds the contents of a procedure to the client buffer.
Note: $Web_ProcSend is a synonym for $Web_Proc_Send.
Syntax
<section begin="syntax" /> %RC = $Web_Proc[_]Send( filename, procname, p_flag ) <section end="syntax" />
$Web_Proc_Send is a callable $function (see Calling Sirius Mods $functions).
$Web_ProcSend takes three arguments and returns a status code.
filename
|
The name of the Model 204 file or group containing the procedure to be sent. This parameter is optional. If it is not specified, the default file or group is used. The parameter may be specified in either of these ways: "GROUP". In this case, "FILE JANWEB" will look for the specified procedure in the file named JANWEB, "GROUP JANWEB" will look for the procedure in the group named JANWEB, and a bare "JANWEB" will look in a group first if it is open, then in a file. The file privileges for this procedure file must be at least X'02' (copy or display internal procedures). | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
procname | The name of the Model 204 procedure to be sent to the client. This parameter is required. | ||||||||||||||
p_flag | Processing indicators for how the client should handle the procedure. This parameter is optional. It consists of a combination of blank-separated options. Valid options are:
|
Code | Meaning |
---|---|
0 | Procedure successfully sent. |
-1 | Not a web thread |
Sample code follows:
%X = $Web_Type('text/HTML') %X = $Web_On ... %X = $Web_ProcSend( 'PROMOS', 'SALUTATION', 'MORE' ) %X = $Web_Put_Text( '
Dear ' WITH %FULLNAME) %X = $Web_ProcSend( 'PROMOS', 'DUFF_BEER_PROMO', 'MORE' ) %X = $Web_Put_Text( '
Act now ' WITH %FIRSTNAME WITH ', while supplies last' ) %X = $Web_ProcSend( 'PROMOS' ) STOP
This sample shows how customized lines of HTML can be interspersed with static bodies of HTML by alternate calls to $Web_ProcSend and $Web_Put_Text. First the procedure SALUTATION is sent to the client buffer from file PROMOS. The MORE flag allows us to continue sending. Next a customized greeting is placed in the buffer, then the body of the document is taken from procedure DUFF_BEER_PROMOTION, again with the MORE flag, then a custom sign-off line, then the end of the HTML document without the MORE flag.
The $WEB_PROC_SEND without the MORE sends all the content that has been accumulated to that point, followed by the indicated procedure. After everything has been sent, the connection with the client is terminated. Any functions that start with $Web that require a connection with the client would cause a user restart after this point, as would any other attempt to communicate with the client. Because of this, there's relatively little that can usually be done after a $WEB_PROC_SEND without MORE (or a $Web_Done); so it's not atypical, as in this example, for such a call to be followed almost immediately by a STOP statement.