FastUnloadTask (Recordset function)

From m204wiki
Revision as of 16:13, 13 October 2016 by Dme (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Initiate asynch Recordset unload using Fast/Unload User Language Interface (Recordset class)

[Requires Fast/Unload Soul Interface]

This method performs unloads using Fast/Unload where the Fast/Unload output is processed programmatically as it is received.

The FastUnloadTask approach has this advantage over the FastUnload method which has a Stringlist output: it avoids potentially large quantities of data from being moved to and from CCATEMP. Its disadvantage is that, since SOUL processing is likely to be slower than Fast/Unload processing, using FastUnloadTask is likely to tie up a Fast/Unload task much longer than using FastUnload, which sends its output to a Stringlist.

Note: The Asynch=True argument of the FastUnload method provides for complete background execution of a Fast/Unload request.

FastUnloadTask returns a FastUnloadTask object that can be used to retrieve output from Fast/Unload.

The FastUnloadTask function is only available to customers licensed for the Fast/Unload SOUL Interface.

The FastUnloadTask function also requires at least one FastUnload task to be available in the Online in which it is running, which means that the FUNTSKN system parameter must be set to 1 or higher.

Syntax

%fastUnloadTask = recordset:FastUnloadTask( [Input=] input, - [[Parameters=] string], - [AllMessages= boolean], - [ReportToStringlist= boolean], - [MaxTime= number])

Syntax terms

%fastUnloadTask A reference to an instance of a FastUnloadTask object.
recordset A reference to an instance of a Recordset object.
Input A Stringlist object that contains the Fast/Unload FUEL program for the unload. Input is the allowed name for the parameter.
Parameters A string that contains the parameters that are to be passed to Fast/Unload. Parameters is the allowed name for the parameter.

This is an optional parameter; if it is not specified, no parameters are passed to Fast/Unload.

AllMessages A Boolean enumeration, providing functionality similar to the $Funload ALLMSG parameter: if True, all messages that would go in the Fast/Unload report are sent to the report dataset, report Stringlist, or FUNAUDIT. Informational messages ordinarily suppressed by Fast/Unload SOUL Interface are included by this setting.

AllMessages is the required name for the parameter. The parameter itself is an optional parameter, and it defaults to False. That is, many informational messages are suppressed from the report output.

ReportToStringlist A Boolean enumeration value:
  • If True, the report data from Fast/Unload will be retrieved via the Report method on the FastUnloadTask object returned by this method.
  • If False, the report data is sent to FUNAUDIT, if present, by default.
ReportToStringlist is the required name for the parameter. The parameter itself is an optional parameter, and it defaults to False.
MaxTime A numeric value that indicates the maximum number of seconds after initiation of the request that the request is given to complete. If the request has not even started running in a Fast/Unload task, or if the task is running, but hasn't completed after the timeout period, the request is cancelled (resulting in a return code 32 from Fast/Unload).

A value of 0 for MaxTime means that the request will never timeout.

MaxTime is the required name for the parameter. The parameter itself is an optional parameter, and it defaults to the setting of the FUNMAXT system parameter. FUNMAXT is also described in the FUNMAXT section of the Fast/Unload SOUL Interface page.

Note: A request can timeout through no fault of its own if all the Fast/Unload tasks are taken up by other long-running requests.

Examples

See the examples for the FastUnloadTask class.

See also

The following functions provide interaction with the task created by FastUnloadTask:

  • GetNextRecord: retrieve the Fast/Unload task's output, one record at a time
  • Report: retrieve the Fast/Unload task's report into a Stringlist, after the task is done
  • ReturnCode: retrieve the Fast/Unload task's return code, after the task is done
  • State: retrieve the state of the Fast/Unload task