FillRowset method: OptEngine class
Syntax
FillRowset(PARAM_NAME, &Rowset[, &functionstatus])
Description
This method gets the value of a transaction output parameter that is a rowset. This cannot be used with the RunAsynch method; RunSynch is needed to make the transaction output parameter values immediately available.
When using the OptEngine DetailedStatus property, keep the following in mind:
-
The value returned by FillRowset is the operational status of the optimization engine.
-
The OptEngine DetailedStatus property indicates the completion status of the OptEngine method call FillRowset.
For example, FillRowset returns %OptEng_Fail, and DetailedStatus is %OptEng_Method_Disabled.
For FillRowset, the DetailedStatus property can have the value:
-
%OptEng_Success.
-
%OptEng_Fail.
-
%OptEng_Method_Disabled.
This indicates that the method is disabled or not valid.
-
%OptEng_Wrong_Parm_Type
Parameters
| Parameter | Description |
|---|---|
|
PARAM_NAME |
Enter a string for the name of the output parameter to get from the transaction that was just performed with RunSynch. This parameter must be defined as an output or both (input and output) in the analytic type definition. See Optimization Framework: Configuring Analytic Type Transactions. |
|
&Rowset |
Enter the rowset containing the values. This rowset must be a single record rowset, and the record must match the record name associated with the transaction parameter in the analytic type definition. |
|
&functionstatus |
(Optional) This status reference parameter returns an integer value giving further information about the evaluation of this function. The value returned is one of the following:
|
Returns
This method returns a constant. Valid values are:
| Value | Description |
|---|---|
|
%OptEng_Success |
Returned if method succeeds. |
|
%OptEng_Fail |
Returned if the method fails. |
Example
The following PeopleCode example runs a synchronous optimization transaction named RETURN_MACHINE_UNAVAILABLE. It has these parameters:
-
Input: MACHINE_NAME to specify the machine for which we need unavailable times.
-
Output: RETURN_TIMES to specify a rowset and MACHINE_WRK record containing the BEGIN_DATE and END_DATE fields.
This PeopleCode example sets input parameter values and gets an output parameter value:
Local OptEngine &myopt;
Local integer &status;
Local string &machname;
Local Rowset &rs;
&myopt = GetOptEngine("PATSMITH");
&machname = QEOPT_WRK.MACHINE_NAME.Value;
/* Run the RETURN_MACHINE_UNAVAILABLE transaction synchronously with input values.
*/
&status = &myopt.RunSynch("RETURN_MACHINE_UNAVAILABLE", "MACHINE_NAME", &machname);
If Not &status Then
QEOPT_WRK.MESSAGE_TEXT = " RETURN_MACHINE_UNAVAILABLE transaction failed.";
Return;
End-If;
/* Get output value from the RETURN_MACHINE_UNAVAILABLE transaction. */
&rs = CreateRowset(Record.MACHINE_WRK);
&status = &myopt.FillRowset("RETURN_TIMES", &rs);
You can also use the [new->] DetailedStatus property as follows:
&status = &myopt.FillRowset("RETURN_TIMES", &rs);
if &status=%OptEng_Fail and &myopt.DetailedStatus=%OptEng_Method_Disabled then
/* perform some action */
End-if;