How to: |
Reference: |
You use the MNTCON RUN command to run a Maintain procedure that has been compiled.
This command is outside the Maintain language, but is described in this content for your convenience.
To run a Maintain procedure that has been compiled (with either a .fcm extension or a FOCCOMP file type or ddname), use the following syntax
MNTCON RUN [dirname/]procname [-v parm1 , ... parmn]
where:
Is the directory name on the Reporting Server where the Maintain procedure is located. This is optional.
Is the name of a Maintain procedure.
Is the flag that indicates parameters will be passed to the Maintain procedure. This is optional.
Can be either positional parameters or parm="value" keyword parameters. Parameter types can be mixed within the same MNTCON RUN command line. The maximum number of parameters you can pass is 128. You should separate all parameters using commas (,). You should use single quotation marks (') or double quotation marks (") to enclose values containing spaces or commas (,). Use with Sys_mgr functions (Sys_Mgr.Get_NameParm, Sys.Mgr.Get_InputParams_Count and Sys_Mgr.Get_PositionParm) to retrieve the values. If any of these functions are unsuccessful, FOCERROR is set to -1.
For more information, see SYS_MGR.
For information on passing parameters with MNTCON RUN, see Invoking Maintain Procedures: Passing Parameters.
MNTCON [EX|RUN] procname –v "parm1value" ... "parmnvalue"
where:
Can be either positional parameter values in single quotation marks (') or double quotation marks ("), or a parm="value" key-matching parameter. You can mix positional and key-matching parameters.
The target Maintain procedure uses Maintain SYS_MGR function subcommands to retrieve the values.
Sys_mgr.get_positionParm
Sys_mgr.GET_inputparams_count
Sys_mgr.get_nameParm
If any of these SYS_MGR functions is not successful, FOCERROR is set to -1.
For more information on SYS_MGR functions, see SYS_MGR.
MNTCON RUN START1 –v NASA, '24 Houston Center', ADDR='Cape Canaveral', COUNTRY=USA
Maintain procedure START1 could include:
Parm1/a0=sys_mgr.get_positionParm(1);
to get the first positional parameter. Here it returns value NASA for Parm1.
Parm1/a0=sys_mgr.get_positionParm(3);
Here FOCERROR is set to -1, as there were only two positional parameters passed.
Posvar/i2=sys_mgr.GET_inputparams_count();
to return the total number of positional parameters. Here it returns 2 for Posvar.
Address/a0=sys_mgr.get_nameParm('ADDR');
to return value for key-matching parameter ADDR. Here it returns Cape Canaveral for Address.
Note: Sys_mgr.get_nameParm is case-sensitive. Use the same case for the parameter when retrieving the value as you use when passing it.
For more information on SYS_MGR functions, see SYS_MGR.