Fast/Unload overview: Difference between revisions
m (add link) |
No edit summary |
||
(24 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<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> | <var class="product">The Fast/Unload</var> base product: | ||
<ul> | <ul> | ||
<li> | <li>Provides a data extraction facility that reads data from a <var class="product">Model 204</var> file.</li> | ||
file. </ | <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 | 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 | <li>A reporting-facility extension, [[Fast/Unload Extraction Language (FUEL)#fst|FSTATS (Field Statistics)]], that provides field, procedure dictionary, and file Table statistics.</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 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 204</var> files, and it supports <var>[[FILEORG parameter|FILEORG]]</var> X'200' files. | ||
< | |||
<li>As of <var class="product">Model 204</var> version 7.6, [[#fusi|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 [[#fuhpo|zIIP processing]]. </li> | |||
<li>As of <var class="product">Model 204</var> 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 <var class="product">Model 204</var> load library, the job can (if licensed) take advantage of zIIP processing. </li> | |||
</ul> | |||
</blockquote> | |||
==<b id="topics"></b><b id="WIKFUN$$topics"></b>Fast/Unload topics== | |||
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 | This list is also available in a "See also" section on each of the pages. | ||
See the [[M204wiki main page#Release notes|release notes]] for information about product changes and Model 204 feature | |||
support per <var class="product">Fast/Unload</var> version. | |||
< | |||
</ | |||
===Fast/Unload topic list=== | |||
==Fast/Unload | {{Template: Fast/Unload topic list}} | ||
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 66: | 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 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>. | ||
Since the unload is from a <var class="product">Model 204</var> record set, | Since the unload is from a <var class="product">Model 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 77: | Line 63: | ||
be <i>synchronous</i> or <i>asynchronous</i>. | be <i>synchronous</i> or <i>asynchronous</i>. | ||
A system manager can | 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 | ||
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 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 <i>but only for FUSI users</i>. This processing is available also to Fast/Unload (PGM=FUNLOAD) as of version 7.7 of Model 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 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 204 parameters]] are of concern. </li> | |||
<li>Otherwise (that is, <code>PGM=FUNLOAD</code>), | |||
the Model 204 parameters for zIIP exploitation are automatically set. </li> | |||
</ul> | |||
</ol> | |||
Even if <var class="product">Model 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 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 overview
- Fast/Unload invocation
- Fast/Unload program parameters
- Fast/Unload Extraction Language (FUEL)
- Fast/Unload standard #functions
- Fast/Unload BLOB/CLOB processing considerations
- Fast/Unload datetime processing considerations
- Fast/Unload DATESTAT analysis
- Fast/Unload job statistics
- Fast/Unload SOUL Interface
- Fast/Unload with an external sort package
- Fast/Unload with DBCS data
- Fast/Unload customer-written assembler #function packages
- Fast/Unload user exits or filters
- Fast/Unload with Model 204 file groups
- Fast/Unload with Model 204 fieldgroups
- Fast/Unload with the Sir2000 Field Migration Facility
- Fast/Unload floating point arithmetic and numeric conversion
- Fast/Unload program return codes
- Fast/Unload installation
- Fast/Unload customization of defaults
- Fast/Unload SMF record format
- Fast/Unload release notes
- Fast/Unload messages
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:
- z/OS, which is where the zIIP-accessing SRBs reside.
- Customer authorization for the Fast/Unload HPO product, a Fast/Unload option.
- Customer authorization for the M204 HPO product.
- 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.