Fast/Unload overview: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (add note)
No edit summary
 
(23 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<!-- Page name: Fast/Unload overview-->
<p></p>
<var class="product">Fast/Unload</var> is a utility which quickly unloads
<var class="product">Fast/Unload</var> is a utility which quickly unloads
data from a <var class="product">Model 204</var> 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.
<var class="product">Fast/Unload</var> consists of several functional units:
<var class="product">The Fast/Unload</var> base product:
<ul>
<ul>
<li>A data extraction facility which reads data from a <var class="product">Model 204</var>
<li>Provides a data extraction facility that reads data from a <var class="product">Model 204</var> file.</li>
file. </li>
<li>Allows the extracted data to be formatted using the <var>[[UAI statement|UAI]]</var> statement for file reorganization, when passed as the input of the <var>[[LAI statement|LAI]]</var> statement of [[Fast/Reload]].
<li>Produces an output report containing the job log, job statistics, and any special conditions or errors that might have occurred during the run.
</ul>


<li>A compiler which converts a special data language ([[FUEL]]) to machine language.
In addition, there are two optional enhancements to Fast/Unload's functionality:
<ul>
<li>A compiler that converts a special data language, [[FUEL]], to machine language.
The generated machine language performs the output function and other general-purpose manipulation.</li>
The generated machine language performs the output function and other general-purpose manipulation.</li>


<li>A reporting facility which provides a job log, job statistics, file statistics, and field statistics, and reports
<li>A reporting-facility extension, [[Fast/Unload Extraction Language (FUEL)#fst|FSTATS (Field Statistics)]], that provides field, procedure dictionary, and file Table statistics.</li>
any special conditions or errors that might have occurred during
a run.</li>
</ul>
</ul>


<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 [[#fusi|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.
If the enqueue fails, the <var class="product">Fast/Unload</var> terminates
If the enqueue fails, the <var class="product">Fast/Unload</var> terminates with an error condition code.
with an error condition code.
Therefore, you must ensure that when <var class="product">Fast/Unload</var> is run as a standalone load module,
Therefore, you must 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 enqueued in exclusive mode.
<var class="product">Model&nbsp;204</var> does not have the file enqueued in exclusive mode.
 
<blockquote class="note"><b>Notes:</b>
<ul>
<li>As of <var class="product">Fast/Unload</var> version 4.6, <var class="product">Fast/Unload</var> must be running under z/OS or z/VM CMS. </li>
 
<li>As of <var class="product">Fast/Unload</var> version 4.7, <var class="product">Fast/Unload</var> supports EAV (Extended Attribute Volume) disks for <var class="product">Model&nbsp;204</var> files, and it supports <var>[[FILEORG parameter|FILEORG]]</var> X'200' files.
 
<li>As of <var class="product">Model&nbsp;204</var> version 7.6, [[#fusi|Fast/Unload SOUL Interface (FUSI)]] requests invoke Fast/Unload code that is contained within the Model&nbsp;204 load module. Model&nbsp;204 no longer loads a separate load module for FUSI, and FUSI requests can (if licensed) take advantage of [[#fuhpo|zIIP processing]].  </li>


<p class="note"><b>Note:</b> As of version 4.6, Fast/Unload must be running under z/OS or z/VM CMS.  
<li>As of <var class="product">Model&nbsp;204</var> version 7.7, Fast/Unload is entirely linked with the Model&nbsp;204 Online load module, and it adopts the Model&nbsp;204 version number. If you run a Fast/Unload job with a reference to the <var class="product">Model&nbsp;204</var> load library, the job can (if licensed) take advantage of zIIP processing. </li>
</p>
</ul>
</blockquote>


<div id="topics"></div>
==<b id="topics"></b><b id="WIKFUN$$topics"></b>Fast/Unload topics==
<div id="WIKFUN$$topics"></div>
==Fast/Unload topics==
<!--Caution: (multiple) <div>s above-->
The <var class="product">Fast/Unload</var> documentation consists of the pages listed below.  
The <var class="product">Fast/Unload</var> documentation consists of the pages listed below.  
This list is also available as a "See also" link from each of the pages. For information about the product changes and Model&nbsp;204 feature
This list is also available in a "See also" section on each of the pages.  
support in each of the recent <var class="product">Fast/Unload</var> versions, see the [[M204wiki main page#Release notes, wishlists, and punch lists|release notes]].  


<ul>
See the [[M204wiki main page#Release notes|release notes]] for information about product changes and Model&nbsp;204 feature
<li>[[Fast/Unload invocation]]
support per <var class="product">Fast/Unload</var> version.
<li>[[Fast/Unload program parameters]]
<li>[[Fast/Unload Extraction Language (FUEL)]]
<li>[[Fast/Unload standard functions|Fast/Unload standard #functions]]
<li>[[Fast/Unload BLOB/CLOB processing considerations]]
<li>[[Fast/Unload datetime processing considerations]]
<li>[[Fast/Unload DATESTAT analysis]]
<li>[[Fast/Unload job statistics]]
<li>[[Fast/Unload SOUL Interface]] ([[#fusi|see below]] for a brief description)
<li>[[Fast/Unload with an external sort package]]
<li>[[Fast/Unload with DBCS data]]
<li>[[Fast/Unload customer-written assembler function packages|Fast/Unload customer-written assembler #function packages]]
<li>[[Fast/Unload user exits or filters]]
<li>[[Fast/Unload with Model 204 file groups]]
<li>[[Fast/Unload with the Sir2000 Field Migration Facility]]
<li>[[Fast/Unload floating point arithmetic and numeric conversion]]
<li>[[Fast/Unload program return codes]]
<li>[[Fast/Unload installation]]
<li>[[Fast/Unload customization of defaults]]
<li>[[Fast/Unload SMF record format]]
</ul>


<div id="fusi"></div>
===Fast/Unload topic list===
==Fast/Unload SOUL Interface==
{{Template: Fast/Unload topic list}}
<!--Caution: <div> above-->


The <var class="product">[[Fast/Unload SOUL Interface]]</var>, purchased as a separate <var class="product">Fast/Unload</var> option,
==<b id="fusi"></b>Fast/Unload SOUL Interface==
The <var class="product">[[Fast/Unload SOUL Interface]]</var> (FUSI), 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
of the <var>Recordset</var> class, or using the <var>[[$Funload]]</var> function in a SOUL program.
of the <var>Recordset</var> class, or using the <var>[[$Funload]]</var> function in a SOUL program.
Line 69: Line 52:
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 User Language 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&nbsp;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&nbsp;204</var>.
Since the unload is from a <var class="product">Model 204</var> record set,
Since the unload is from a <var class="product">Model&nbsp;204</var> record set,
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
Line 82: Line 65:
A system manager can 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
A system manager can 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
initiated.
initiated.
==<b id="fuhpo"></b><b id="Fast/Unload HPO"></b>Fast/Unload HPO: zIIP exploitation==
<var class="product">Fast/Unload HPO</var> is <var class="product">[[Performance monitoring and tuning#Offloading Model 204 work to zIIP processors|M204 HPO]]</var> (offloading Model&nbsp;204 work to zIIP processors) extended to Fast/Unload.
Fast/Unload support for this specialty-engine processing is initially available in version 7.6 of Model&nbsp;204 <i>but only for FUSI users</i>. This processing is available also to Fast/Unload (PGM=FUNLOAD) as of version 7.7 of Model&nbsp;204.
Exploiting zIIPs in Fast/Unload requires:
<ol>
<li>z/OS, which is where the zIIP-accessing SRBs reside.</li>
<li>Customer authorization for the <var class="product"><b>Fast/Unload HPO</b></var> product, a Fast/Unload option.</li>
<li>Customer authorization for the <var class="product"><b>M204 HPO</b></var> product.</li>
<li>Appropriate setting of zIIP and Fast/Unload <var class="product">Model&nbsp;204</var> system parameters.
<ul>
<li>If Fast/Unload is invoked from FUSI, [[Performance monitoring and tuning#Model 204 parameters for zIIP support|several Model&nbsp;204 parameters]] are of concern. </li>
<li>Otherwise (that is, <code>PGM=FUNLOAD</code>),
the Model&nbsp;204 parameters for zIIP exploitation are automatically set. </li>
</ul>
</ol>
Even if <var class="product">Model&nbsp;204 HPO</var> is not purchased or in use, <var class="product">Fast/Unload HPO</var> offers improved performance because it locates the Fast/Unload control blocks above the bar, taking advantage of the enhanced [[Release notes for Model 204 version 7.6#64-bit addressing and Above The Bar .28ATB.29 storage|Model&nbsp;204 V7.6 64-bit addressing and ATB storage]].
[[Category:Fast/Unload]]

Latest revision as of 13:34, 23 May 2018

Fast/Unload is a utility which quickly unloads data from a Model 204 file to one or more sequential data sets. The Fast/Unload base product:

  • Provides a data extraction facility that reads data from a Model 204 file.
  • Allows the extracted data to be formatted using the UAI statement for file reorganization, when passed as the input of the LAI statement of Fast/Reload.
  • Produces an output report containing the job log, job statistics, and any special conditions or errors that might have occurred during the run.

In addition, there are two optional enhancements to Fast/Unload's functionality:

  • A compiler that converts a special data language, FUEL, to machine language. The generated machine language performs the output function and other general-purpose manipulation.
  • A reporting-facility extension, FSTATS (Field Statistics), that provides field, procedure dictionary, and file Table statistics.

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. Therefore, you must ensure that when Fast/Unload is run as a standalone load module, Model 204 does not have the file enqueued in exclusive mode.

Notes:

  • As of Fast/Unload version 4.6, Fast/Unload must be running under z/OS or z/VM CMS.
  • As of Fast/Unload version 4.7, Fast/Unload supports EAV (Extended Attribute Volume) disks for Model 204 files, and it supports FILEORG X'200' files.
  • As of Model 204 version 7.6, Fast/Unload SOUL Interface (FUSI) requests invoke Fast/Unload code that is contained within the Model 204 load module. Model 204 no longer loads a separate load module for FUSI, and FUSI requests can (if licensed) take advantage of zIIP processing.
  • As of Model 204 version 7.7, Fast/Unload is entirely linked with the Model 204 Online load module, and it adopts the Model 204 version number. If you run a Fast/Unload job with a reference to the Model 204 load library, the job can (if licensed) take advantage of zIIP processing.

Fast/Unload topics

The Fast/Unload documentation consists of the pages listed below. This list is also available in a "See also" section on each of the pages.

See the release notes for information about product changes and Model 204 feature support per Fast/Unload version.

Fast/Unload topic list

Fast/Unload SOUL Interface

The Fast/Unload SOUL Interface (FUSI), 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 HPO: zIIP exploitation

Fast/Unload HPO is M204 HPO (offloading Model 204 work to zIIP processors) extended to Fast/Unload.

Fast/Unload support for this specialty-engine processing is initially available in version 7.6 of Model 204 but only for FUSI users. This processing is available also to Fast/Unload (PGM=FUNLOAD) as of version 7.7 of Model 204.

Exploiting zIIPs in Fast/Unload requires:

  1. z/OS, which is where the zIIP-accessing SRBs reside.
  2. Customer authorization for the Fast/Unload HPO product, a Fast/Unload option.
  3. Customer authorization for the M204 HPO product.
  4. Appropriate setting of zIIP and Fast/Unload Model 204 system parameters.
    • If Fast/Unload is invoked from FUSI, several Model 204 parameters are of concern.
    • Otherwise (that is, PGM=FUNLOAD), the Model 204 parameters for zIIP exploitation are automatically set.

Even if Model 204 HPO is not purchased or in use, Fast/Unload HPO offers improved performance because it locates the Fast/Unload control blocks above the bar, taking advantage of the enhanced Model 204 V7.6 64-bit addressing and ATB storage.