CallSilent
invokes an interactive
program from a non-display file aspx.vr (yellow thread)
and prevents the display of the program's display file
in the browser.
Syntax
BegFunc CallSilent Access(*Public) Type(ASNA.Monarch.WebDisplayFile) DclSrParm assemblyName Type (*String) DclSrParm programName Type (*String) DclSrParm parms Type (*String) Rank (1)
Parameters
-
assemblyName
- String. The name of the assembly that contains the program to be called. The assembly must be placed in a folder visible to the blue thread. This is typically the /bin folder of the web site. The assembly name is typically the DLL name but without the ".DLL" extension.
-
programName
- String. The fully qualified name of the program to be invoked. This name must include the namespace of the program.
-
parms
- String. An array of string parameters to be passed to the program's *ENTRY procedure. The parameters are input/output.
Returns
Exceptions
The following exceptions may be encountered during the execution of this method.
Value | Condition |
---|---|
MonarchJobEndedException |
The Monarch Job has ended in an exception. |
MonarchJobUnavailableException |
There is no Monarch Job available to accept commands. |
ProgramCallException |
There was an error calling the program. |
Remarks
CallSilent
can be used to invoke an
interactive program from the yellow thread and prevent the
display of the program's display file in the browser.
When the interactive program performs an EXFMT
(or READ
), it
will stop waiting for input from the user and
CallSilent
will return the WebDisplayFile
object allowing the caller to inspect the dataset containing
the data tables of the record formats written by the
interactive program on the blue thread.
The caller of
CallSilent
is responsible for feeding input
to the waiting interactive program. This is done by
updating the appropriate rows of the data table of the
WebDisplayFile and then executing the method
PushKeyFocus.
Example
DclFld Command Type(ASNA.Monarch.Command) New(*Base.Context) DclFld DspF Type(ASNA.Monarch.WebDisplayFile) DclFld data Type(System.Data.DataSet) DclArray Parms Dim(2) Type(*String) Parms[0] = "SFSTATE" Parms[1] = "" DspF = Command.CallSilent("StaterLogic","StaterLogic.CUSTPRMPT", Parms) If (DspF <> *Nothing) data = DspF.DataSet Command.PushKeyFocus(ASNA.Monarch.Command.AidKey.F12, 0, "") EndIf
Requirements
Namespace: ASNA.Monarch.WebDspF
Assembly: ASNA.Monarch.WebDspF.DLL
Platforms: Windows Server 2012, Windows Server 2012 R2, Windows Server 2016, Windows 7, Windows 8 Pro, Windows 10 Pro