FastUnload (Recordset function)

From m204wiki
Revision as of 16:08, 13 October 2016 by Dme (talk | contribs) (→‎Syntax terms)
Jump to navigation Jump to search

Unload Recordset using Fast/Unload User Language Interface (Recordset class)

[Requires Fast/Unload Soul Interface]

This callable method performs synchronous or asynchronous unloads of the records in the Recordset method object using the Fast/Unload SOUL Interface.

This method is only available to customers that are also licensed for the Fast/Unload SOUL Interface.

The FastUnload function also requires at least one Fast/Unload 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

[%number =] recordset:FastUnload( [Input=] input, [Output=] output, - [[Report=] report], [[Parameters=] string], - [AllMessages= boolean], [Asynch= boolean], - [Notify= boolean], [MaxTime= number])

Syntax terms

%number A numeric value, as follows:
  • For asynchronous requests, the request number. Request numbers are assigned serially, starting at 1.
  • For synchronous requests, the return code from Fast/Unload. If the request is cancelled because the timeout period (MaxTime parameter, or FUNMAXT system parameter) is exceeded, the return code is 32.
recordset A reference to an instance of a Recordset object.
Input A Stringlist object that contains the Fast/Unload FUEL program for the unload, or a string that contains the DD name of the dataset which contains the FUEL program. This is a name allowed parameter.
Output A Stringlist object that is to receive the unloaded data, or a string that contains the DD name that is to receive the unloaded data.

If the request is asynchronous, and this parameter is a Stringlist object, the request is cancelled.

This is a name allowed parameter.
Report A Stringlist object that is to receive the Fast/Unload report, or a string containing the DD name that is to receive the report.

If the request is asynchronous, and this parameter is a Stringlist object, the request is cancelled.

This is an optional, name allowed, parameter. If it is not specified, the report goes to FUNAUDIT; if there is no FUNAUDIT, the report goes to the Model 204 audit trail.
Parameters A string that contains the parameters that are to be passed to Fast/Unload. This is an optional, name allowed, parameter; if it is not specified, no parameters are passed to Fast/Unload.
AllMessages A Boolean value. If True, all messages are sent to the Fast/Unload report destination specified by the Report argument. Informational messages ordinarily suppressed by the Fast/Unload User Language Interface are included by this setting.

This is an optional, name required, parameter, and it defaults to False. That is, many informational messages are suppressed from the report output by default.

Asynch A Boolean value:
  • If True, the request is to be run asynchronously: the method should return immediately, returning a request number, rather than waiting for the unload to complete. If Asynch is set to True, neither the Output nor Report parameters can be Stringlist objects.
  • If False, the FastUnload method does not return until the unload is completed, if no errors are detected. In such a case, the return code from the method is the return code from Fast/Unload.

This is an optional, name required, parameter, and it defaults to False.

Note: Asynch=True specifies that the Fast/Unload request is run completely in the background. The FastUnloadTask method, on the other hand, runs a Fast/Unload request asynchronously with the SOUL request invoking it, but the SOUL request will rendezvous with the Fast/Unload request, retrieving each output record in turn.

Notify A Boolean value:
  • If True, the user that initiated the request should be notified at its completion with a Model 204 message, if the request is asynchronous (Asynch=True).
  • If False, the initiating user will not be notified at the completion of the request.
This is an optional, name required, 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.

This is an optional, name required, parameter, and it defaults to the setting of the FUNMAXT system parameter.

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.

Usage notes

  • Any errors in the method parameter list, or any environmental errors that would prevent the request from being run, result in the request being cancelled.

Example

In the following example, the FastUnload method uses Fast/Unload to do a PAI unload to a Stringlist of all the records in file SIRFILED, and then it displays the Stringlist:

b %rs is object recordSet in file sirFiled %listi is object stringList %listo is object stringList %rc is float find records to %rs end find %listi = new text to %listi FOR EACH RECORD PUT '*' OUTPUT PAI END FOR end text %listo = new %rc = %rs:fastUnload(%listi, %listo, parameters='NEBUFF=10') %listo:print end

See also

  • The Fast/Unload wiki pages.
  • The FastUnloadTask function, which allows SOUL processing of the Fast/Unload output as it is created.