Command.CallSilent Method (string, string, string[ ])

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.

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