FastUnload (Recordset function): Difference between revisions
mNo edit summary |
m (minor word change) |
||
(12 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Template:Recordset:FastUnload subtitle}} | {{Template:Recordset:FastUnload subtitle}} | ||
This [[Notation conventions for methods#Callable functions|callable]] method performs synchronous or asynchronous [[Fast/Unload|unloads]] of the records in the <var>Recordset</var> method object using the <var class="product">[[Fast/Unload SOUL Interface]]</var>. | |||
This | This method is only available to customers that are also licensed for | ||
the <var class="product">Fast/Unload SOUL Interface</var>. | |||
The <var>FastUnload</var> function also requires at least one <var class="product">Fast/Unload</var> task to be | |||
available in the Online in which it is running, which means that the <var>[[FUNTSKN parameter|FUNTSKN]]</var> system parameter must be set to 1 or higher. | |||
==Syntax== | ==Syntax== | ||
{{Template:Recordset:FastUnload syntax}} | {{Template:Recordset:FastUnload syntax}} | ||
===Syntax terms=== | ===Syntax terms=== | ||
<table class="syntaxTable"> | <table class="syntaxTable"> | ||
<tr><th>%number</th> | <tr><th>%number</th> | ||
<td>A numeric value, as follows: <ul> <li>For asynchronous requests, the request number. Request numbers are assigned serially, starting at 1. <li>For synchronous requests, the return code from <var class="product">Fast/Unload</var>. | <td>A numeric value, as follows: | ||
If the request is cancelled because the timeout period (<var>MaxTime</var> parameter, or FUNMAXT system parameter) is exceeded, the return code is 32. </ul> | <ul> | ||
</td></tr> | <li>For asynchronous requests, the request number. Request numbers are assigned serially, starting at 1. | ||
<li>For synchronous requests, the [[Fast/Unload program return codes|return code]] from <var class="product">Fast/Unload</var>. | |||
If the request is cancelled because the timeout period (<var>MaxTime</var> parameter, or <var>[[FUNMAXT parameter|FUNMAXT]]</var> system parameter) is exceeded, the return code is 32. | |||
</ul></td></tr> | |||
<tr><th>recordset</th> | <tr><th>recordset</th> | ||
<td>A reference to an instance of a <var>Recordset</var> object. | <td>A reference to an instance of a <var>Recordset</var> object. | ||
</td></tr> | </td></tr> | ||
<tr><th><var>Input</var></th> | <tr><th><var>Input</var></th> | ||
<td>A <var>Stringlist</var> object that contains the <var class="product">Fast/Unload</var> FUEL program for the unload, or a string that contains the DD name of the dataset which contains the FUEL program. | <td>A <var>Stringlist</var> object that contains the <var class="product">Fast/Unload</var> FUEL program for the unload, or a string that contains the DD name of the dataset which contains the FUEL program. | ||
This is a [[Notation conventions for methods#Named parameters|name allowed]] parameter. | This is a [[Notation conventions for methods#Named parameters|name allowed]] parameter.</td></tr> | ||
</td></tr> | |||
<tr><th><var>Output</var></th> | <tr><th><var>Output</var></th> | ||
<td>A <var>Stringlist</var> object that is to receive the unloaded data, or a string that contains the DD name that is to receive the unloaded data. | <td>A <var>Stringlist</var> 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 <var>Stringlist</var> object, the request is cancelled. | If the request is asynchronous, and this parameter is a <var>Stringlist</var> object, the request is cancelled. | ||
This is a | This is a name allowed parameter.</td></tr> | ||
</td></tr> | |||
<tr><th><var>Report</var></th> | <tr><th><var>Report</var></th> | ||
<td>A <var>Stringlist</var> object that is to receive the <var class="product">Fast/Unload</var> report, or a string containing the DD name that is to receive the report. | <td>A <var>Stringlist</var> object that is to receive the <var class="product">Fast/Unload</var> report, or a string containing the DD name that is to receive the report. | ||
If the request is asynchronous, and this parameter is a <var>Stringlist</var> object, the request is cancelled. | If the request is asynchronous, and this parameter is a <var>Stringlist</var> object, the request is cancelled. | ||
This is an optional parameter. If it is not specified, the report goes to FUNAUDIT; if there is no FUNAUDIT, the report goes to the <var class="product">Model 204</var> audit trail. | 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 <var class="product">Model 204</var> audit trail.</td></tr> | ||
</td></tr> | |||
<tr><th><var>Parameters</var></th> | <tr><th><var>Parameters</var></th> | ||
<td>A string that contains the parameters that are to be passed to <var class="product">Fast/Unload</var>. | <td>A string that contains the parameters that are to be passed to <var class="product">Fast/Unload</var>. | ||
This is an optional parameter; if it is not specified, no parameters are passed to <var class="product">Fast/Unload</var>. | This is an optional, name allowed, parameter; if it is not specified, no parameters are passed to <var class="product">Fast/Unload</var>.</td></tr> | ||
</td></tr> | |||
<tr><th><var>AllMessages</var></th> | <tr><th><var>AllMessages</var></th> | ||
<td>A [[Enumerations#Using_Boolean_enumerations|Boolean]] value. | <td>A <var>[[Enumerations#Using_Boolean_enumerations|Boolean]]</var> value. If <var>True</var>, all messages are sent to the <var class="product">Fast/Unload</var> report destination specified by the <var>Report</var> argument. Informational messages ordinarily suppressed by the <var class="product">Fast/Unload User Language Interface</var> are included by this setting. | ||
If <var>True</var>, all messages are sent to the <var class="product">Fast/Unload</var> report destination specified by the <var>Report</var> argument. Informational messages ordinarily suppressed by the <var class="product">Fast/Unload User Language Interface</var> are included by this setting. | <p> | ||
This is an optional parameter, and it defaults to <var>False</var>. That is, many informational messages are suppressed from the report output by default. | This is an optional, [[Notation conventions for methods#Named parameters|name required]], parameter, and it defaults to <var>False</var>. That is, many informational messages are suppressed from the report output by default.</p></td></tr> | ||
<tr id="asynch"><th><var>Asynch</var></th> | |||
</td></tr> | <td>A <var>Boolean</var> value: | ||
<tr><th><var>Asynch</var></th> | <ul> | ||
<td>A | <li>If <var>True</var>, 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 <var>Asynch</var> is set to <var>True</var>, neither the <var>Output</var> nor <var>Report</var> parameters can be <var>Stringlist</var> objects. | ||
This | <li>If <var>False</var>, the <var>FastUnload</var> 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 <var class="product">Fast/Unload</var>. | ||
</ul> | |||
This is an optional, name required, parameter, and it defaults to <var>False</var>. | |||
</td></tr> | |||
<p class="note"><b>Note:</b> <code>Asynch=True</code> specifies that the Fast/Unload request is run completely in the background. The <var>[[FastUnloadTask (Recordset function)|FastUnloadTask]]</var> method, on the other hand, runs a Fast/Unload request asynchronously with the SOUL request that invokes it, but the SOUL request will rendezvous with the Fast/Unload request, retrieving each output record in turn.</p></td></tr> | |||
<tr><th><var>Notify</var></th> | <tr><th><var>Notify</var></th> | ||
<td>A | <td>A <var>Boolean</var> value: | ||
This is an optional parameter, and it defaults to <var>False</var>. | <ul> | ||
<li>If <var>True</var>, the user that initiated the request should be notified at its completion with a <var class="product">Model 204</var> message, if the request is asynchronous (Asynch=True). | |||
<li>If <var>False</var>, the initiating user will not be notified at the completion of the request. | |||
</td></tr> | </ul> | ||
This is an optional, name required, parameter, and it defaults to <var>False</var>.</td></tr> | |||
<tr><th><var>MaxTime</var></th> | <tr><th><var>MaxTime</var></th> | ||
<td>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 <var class="product">Fast/Unload</var> 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 <var class="product">Fast/Unload</var>). | <td>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 <var class="product">Fast/Unload</var> 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 <var class="product">Fast/Unload</var>). | ||
A value of 0 for <var>MaxTime</var> means that the request will never timeout. | <p> | ||
This is an optional parameter, and it defaults to the setting of | A value of 0 for <var>MaxTime</var> means that the request will never timeout.</p> | ||
'''Note:''' A request can timeout through no fault of its own if all the <var class="product">Fast/Unload</var> tasks are taken up by other long-running requests. | This is an optional, name required, parameter, and it defaults to the setting of the <var>FUNMAXT</var> system parameter. | ||
'''Note:''' A request can timeout through no fault of its own if all the <var class="product">Fast/Unload</var> tasks are taken up by other long-running requests.</td></tr> | |||
</table> | |||
</td></tr></table> | |||
==Usage notes== | ==Usage notes== | ||
Line 85: | Line 85: | ||
==Example== | ==Example== | ||
In the following example, the <var>FastUnload</var> method uses <var class="product">Fast/Unload</var> to do a PAI unload | In the following example, the <var>FastUnload</var> method uses <var class="product">Fast/Unload</var> to do a PAI unload | ||
to a <var>Stringlist</var> of all the records in file <code> | to a <var>Stringlist</var> of all the records in file <code>SIRFILED</code>, | ||
and then it displays the <var>Stringlist</var>: | and then it displays the <var>Stringlist</var>: | ||
<p class="code"> b | <p class="code">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 | |||
</p> | |||
==See also== | |||
<ul> | |||
<li>The <var class="product">[[Fast/Unload]]</var> wiki pages. | |||
<li>The <var>[[FastUnloadTask (Recordset function)|FastUnloadTask]]</var> function, which allows SOUL processing of the Fast/Unload output as it is created. | |||
</ul> | |||
{{Template:Recordset:FastUnload footer}} | |||
[[Category:Fast/Unload SOUL Interface]] | |||
[[Category:Fast/Unload |
Latest revision as of 00:33, 14 October 2016
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:
|
---|---|
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:
This is an optional, name required, parameter, and it defaults to False. Note: |
Notify | A Boolean value:
|
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.