Fast/Unload overview: Difference between revisions

From m204wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
<!-- Page name: Fast/Unload overview-->
<!-- Page name: Fast/Unload overview-->
<p></p>
<p></p>
<var class="product">Fast/Unload</var> is a utility whose primary function is to quickly unload
<var class="product">Fast/Unload</var> is a utility which quickly unloads
data from a <var class="product">Model 204</var> data file to one or more sequential data sets.
data from a <var class="product">Model 204</var> file to one or more sequential data sets.
The <var class="product">Fast/Unload</var> utility consists of several functional units:
<var class="product">Fast/Unload</var> consists of several functional units:
<ul>
<ul>
<li>One unit is a data extraction facility which reads data from a <var class="product">Model 204</var>
<li>A data extraction facility which reads data from a <var class="product">Model 204</var>
data file. </li>
file. </li>


<li>Another unit is
<li>A compiler which converts a special data language describing
a compiler which converts a special data language describing
the output format to machine language.
the output format to machine language.
The generated machine language
The generated machine language
actually performs the output function.</li>
actually performs the output function.</li>


<li>A third unit is a reporting facility which provides a job log and reports
<li>A reporting facility which provides a job log and statistics and file and field statistics, and reports
any special conditions or errors that might have occurred during
any special conditions or errors that might have occurred during
a run.</li>
a run.</li>
Line 20: Line 19:


<var class="product">Fast/Unload</var> can either be invoked directly as a standalone load module
<var class="product">Fast/Unload</var> can either be invoked directly as a standalone load module
or from a [[SOUL]] program.
or [[#fusi|from a SOUL]] program.
When invoked as a standalone load module, <var class="product">Fast/Unload</var>
When invoked as a standalone load module, <var class="product">Fast/Unload</var>
enqueues the data file in share mode unless explicitly requested otherwise.
enqueues the data file in share mode unless explicitly requested otherwise.
Line 29: Line 28:
<var class="product">Model 204</var> does not have the file to be unloaded locked in exclusive mode.
<var class="product">Model 204</var> does not have the file to be unloaded locked in exclusive mode.


<div id="fusi"></div>
==Fast/Unload SOUL Interface==
==Fast/Unload SOUL Interface==
<!--Caution: <div> above-->
The <var class="product">[[Fast/Unload SOUL Interface]]</var>, purchased as a separate <var class="product">Fast/Unload</var> option,
The <var class="product">[[Fast/Unload SOUL Interface]]</var>, purchased as a separate <var class="product">Fast/Unload</var> option,
allows one to invoke <var class="product">Fast/Unload</var> using the <var>[[FastUnload (Recordset function)|FastUnload]]</var> or <var>[[FastUnloadTask (Recordset function)|FastUnloadTask]]</var> method
allows one to invoke <var class="product">Fast/Unload</var> using the <var>[[FastUnload (Recordset function)|FastUnload]]</var> or <var>[[FastUnloadTask (Recordset function)|FastUnloadTask]]</var> method

Revision as of 19:56, 9 February 2015

Fast/Unload is a utility which quickly unloads data from a Model 204 file to one or more sequential data sets. Fast/Unload consists of several functional units:

  • A data extraction facility which reads data from a Model 204 file.
  • A compiler which converts a special data language describing the output format to machine language. The generated machine language actually performs the output function.
  • A reporting facility which provides a job log and statistics and file and field statistics, and reports any special conditions or errors that might have occurred during a run.

Fast/Unload can either be invoked directly as a standalone load module or from a SOUL program. When invoked as a standalone load module, Fast/Unload enqueues the data file in share mode unless explicitly requested otherwise. If the enqueue fails, the Fast/Unload terminates with an error condition code. It is thus the file manager's job to ensure that when Fast/Unload is run as a standalone load module, Model 204 does not have the file to be unloaded locked in exclusive mode.

Fast/Unload SOUL Interface

The Fast/Unload SOUL Interface, purchased as a separate Fast/Unload option, allows one to invoke Fast/Unload using the FastUnload or FastUnloadTask method of the Recordset class, or using the $Funload function in a SOUL program.

With this approach, an application builds a set of records to be unloaded, using standard User Language statements; for example, you can reduce unload time by restricting the set of records using indexed Model 204 fields. The Fast/Unload load module runs in a subtask (or PST under CMS) of Model 204. Since the unload is from a Model 204 record set, the Fast/Unload SOUL Interface automatically provides the ability to unload data from a Model 204 group; standalone Fast/Unload provides that functionality by allowing multiple Model 204 file names on the OPEN statement.

The Fast/Unload SOUL Interface processing can be synchronous or asynchronous.

A system manager can cancel or examine Fast/Unload requests, and each user can perform the same functions on asynchronous requests that he or she initiated.

Fast/Unload topics