Fast/Unload overview: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (more conversion cleanup)
(Automatically generated page update)
Line 1: Line 1:
<!-- Page name: Fast/Unload overview-->
<!-- Page name: Fast/Unload overview-->
 
<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 whose primary function is to quickly unload
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> data file to one or more sequential data sets.
The <var class="product">Fast/Unload</var> utility consists of several functional units:
The <var class="product">Fast/Unload</var> utility consists of several functional units.
<ul>
One unit is a data extraction facility which reads data from a <var class="product">Model 204</var>
<li>One unit is a data extraction facility which reads data from a <var class="product">Model 204</var>
data file.
data file. </li>
Another unit is
 
<li>Another unit is
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.
 
A third unit is a reporting facility which provides a job log and reports
<li>A third unit is a reporting facility which provides a job log 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.
</ul>
<p></p>
 
<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 from a User Language 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 28: Line 24:
job to ensure that when <var class="product">Fast/Unload</var> is run as a standalone load module,
job to ensure that when <var class="product">Fast/Unload</var> is run as a standalone load module,
<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.
 
<p></p>
==Fast/Unload SOUL Interface==
==Fast/Unload User Language Interface==
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 FastUnload or FastUnloadTask method
of the <var>Recordset</var> class, or using the <var>[[$Funload]]</var> function in a SOUL program.
of the Recordset class or the $Funload function in a User Language program.
With this approach, an application builds a set of records to be unloaded,
With this approach, an application builds a set of records to be unloaded,
using standard SOUL statements; for example, you can reduce unload
using standard User Language statements; for example, you can reduce unload
time by restricting the set of records using indexed <var class="product">Model 204</var> fields.
time by restricting the set of records using indexed <var class="product">Model 204</var> fields.
The <var class="product">Fast/Unload</var> load module runs in a subtask
The <var class="product">Fast/Unload</var> load module runs in a subtask
(or PST under CMS) of <var class="product">Model 204</var>.
(or PST under CMS) of <var class="product">Model 204</var>.
Line 42: Line 37:
the <var class="product">Fast/Unload SOUL Interface</var> automatically
the <var class="product">Fast/Unload SOUL Interface</var> automatically
provides the ability to unload data from a <var class="product">Model 204</var> group; standalone <var class="product">Fast/Unload</var> provides that functionality by allowing
provides the ability to unload data from a <var class="product">Model 204</var> group; standalone <var class="product">Fast/Unload</var> provides that functionality by allowing
multiple <var class="product">Model 204</var> file names on the <var>OPEN</var> statement.
multiple <var class="product">Model 204</var> file names on the OPEN statement.
 
<p></p>
The <var class="product">Fast/Unload SOUL Interface</var> <i>processing can
With the <var class="product">Fast/Unload SOUL Interface</var> the processing can
be synchronous or asynchronous</i>.
be performed either <b>synchronously</b> or <b>asynchronously</b>.
 
<p></p>
A system manager can
A system manager can
cancel or examine <var class="product">Fast/Unload</var> requests, and each user
cancel or examine <var class="product">Fast/Unload</var> requests, and each user
can perform the same functions on asynchronous requests that he or she
can perform the same functions on asynchronous requests that he or she
initiated.
initiated.
 
<p></p>
See [[Fast/Unload SOUL Interface]] for more information about the <var class="product">Fast/Unload SOUL Interface</var>.
See [[Fast/Unload SOUL Interface]] for more information about the <var class="product">Fast/Unload SOUL Interface</var>.
<div id="WIKFUN$$topics"></div>
<div id="WIKFUN$$topics"></div>
==Fast/Unload topics==
==Fast/Unload topics==
Line 61: Line 55:
<li>[[Fast/Unload program parameters]]
<li>[[Fast/Unload program parameters]]
<li>[[Fast/Unload Extraction Language (FUEL)]]
<li>[[Fast/Unload Extraction Language (FUEL)]]
<li>[[Fast/Unload standard functions|Fast/Unload standard #functions]]
<li>[[Fast/Unload standard functions]]
<li>[[Fast/Unload BLOB/CLOB processing considerations]]
<li>[[Fast/Unload BLOB/CLOB processing considerations]]
<li>[[Fast/Unload datetime processing considerations]]
<li>[[Fast/Unload datetime processing considerations]]
Line 69: Line 63:
<li>[[Fast/Unload with an external sort package]]
<li>[[Fast/Unload with an external sort package]]
<li>[[Fast/Unload with DBCS data]]
<li>[[Fast/Unload with DBCS data]]
<li>[[Fast/Unload customer-written assembler function packages|Fast/Unload customer-written assembler #function packages]]
<li>[[Fast/Unload customer-written assembler function packages]]
<li>[[Fast/Unload user exits or filters]]
<li>[[Fast/Unload user exits or filters]]
<li>[[Fast/Unload with Model 204 file groups]]
<li>[[Fast/Unload with Model 204 file groups]]

Revision as of 19:39, 15 January 2015

Fast/Unload is a utility whose primary function is to quickly unload data from a Model 204 data file to one or more sequential data sets. The Fast/Unload utility consists of several functional units. One unit is a data extraction facility which reads data from a Model 204 data file. Another unit is 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 third unit is a reporting facility which provides a job log 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 User Language 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 User Language 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 the $Funload function in a User Language 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.

With the Fast/Unload SOUL Interface the processing can be performed either synchronously or asynchronously.

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.

See Fast/Unload SOUL Interface for more information about the Fast/Unload SOUL Interface.

Fast/Unload topics