FILEORG parameter: Difference between revisions

From m204wiki
Jump to navigation Jump to search
No edit summary
m (→‎Description: add link)
 
(26 intermediate revisions by 5 users not shown)
Line 13: Line 13:
<dd><var class="product">Model 204 V6.1</var> or earlier
<dd><var class="product">Model 204 V6.1</var> or earlier
</dl>
</dl>
==Description==
==Description==
<p>The file (Table B) organization.</p>
<p>
<p>Valid settings of FILEORG are:</p>
The file ([[Table B (File architecture)|Table B]]) organization.</p>
<p>
<div id="large_files"></div>
Valid settings of <var>FILEORG</var> are:</p>
<table>
<table>
<tr class="head"><th>Setting</th><th>Meaning</th></tr>
<tr class="head"><th>Setting</th><th>Meaning</th></tr>
<tr><th align="right"><var>X'200'</var></th>
<tr><th align="right"><var>X'200'</var></th>
<td>Large file support.  
<td>[[File design#x200|Large file support.]] </td></tr>
<p>
Allows files to hold up to 48 million records.</p>
<p>
Available in Model 204 V7.5.</p></td></tr>


<tr><th align="right"><var>X'100'</var></th>
<tr><th align="right"><var>X'100'</var></th>
<td>Enhanced data handling files.  
<td>Enhanced data handling files.  
<p>
<p>
Enables a number of enhancements to the file structure, including support for [[Field group (File architecture)| physical field groups]]; the definition of up to 32000 fields in a file; system maintained [[Field design#Automatic fields|automatic fields]]; [[Field design#Field constraints|field constraints]] providing content validation; and improved space management of fields containing [[Field design#BLOB,CLOB, and MINLOBE attributes|large objects]]. </p>
Enables a number of enhancements to the file structure, including support for [[Field group (File architecture)|physical field groups]]; the definition of up to 32000 fields in a file; system maintained [[Field design#Automatic fields|automatic fields]]; [[Field design#Field constraints|field constraints]] providing content validation; and improved space management of fields containing [[Field design#BLOB, CLOB, and MINLOBE attributes|large objects]]. </p>
<p>
<p>
FILEORG=X'100' files have a fixed overhead of 4 bytes in table B for each field occurrence as opposed to 3 bytes for FILEORG=X'80' files, 3 bytes for string fields, and 2 bytes for other fields in other files. In addition, FILEORG=X'100' files have a 4-byte overhead per record for a field group ID counter. This overhead is in addition to the space required for the actual values. </p>
<var>FILEORG</var> X'100' files have a fixed overhead of 4 bytes in Table B for each field occurrence as opposed to 3 bytes for <var>FILEORG</var> X'80' files, 3 bytes for [[Field design#STRING attribute|string]] fields, and 2 bytes for other fields in other files. In addition, <var>FILEORG</var> X'100' files have a 4-byte overhead per record for a field group ID counter. This overhead is in addition to the space required for the actual values. </p>
<p>
<p>
Some or all of this additional overhead space can be won back when certain FILEORG=X'100' features come into play, such as FLOAT/BINARY field value compression and the use of fieldgroups to eliminate placeholder fields. However, if a file is converted to a FILEORG=X'100' file without taking advantage of fieldgroups, and the file contains no compressible FLOAT/BINARY fields (because there are no such fields, or their values are large and thus uncompressible), then an increase in Table B space requirements is likely.</p>   
Some or all of this additional overhead space can be won back when certain <var>FILEORG</var> X'100' features come into play, such as <var>FLOAT/BINARY</var> field value compression and the use of fieldgroups to eliminate placeholder fields. However, if a file is converted to a <var>FILEORG</var> X'100' file without taking advantage of fieldgroups, and the file contains no compressible <var>FLOAT/BINARY</var> fields (because there are no such fields, or their values are large and thus uncompressible), then an increase in Table B space requirements is likely.</p>   
<p>
<p>
FILEORG=X'100' files cannot be loaded via FLOD or FILELOAD except with a <var class="product">Fast/Reload</var> <var>Load All Information</var> (<var>LAI</var>) FLOD/FILELOAD program.</p>
<var>FILEORG</var> X'100' files cannot be loaded via <var>[[FLOD_command|FLOD]]</var> or <var>[[FILELOAD_command|FILELOAD]]</var> except with a <var class="product">[[Fast/Reload]]</var> Load All Information (<var>[[Fast/Reload statements#The LAI statement|LAI]]</var>) <var>FLOD/FILELOAD</var> program.</p>
<p>
<p>
If FILEORG=X'100' is selected, the X'80' option is automatically set.</p>
If the <var>FILEORG</var> X'100' bit is set, the X'80' option is automatically set.</p>
<p>
<p>
Available in Model 204 V7.5.</p></td></tr>
Available as of Model 204 V7.5.</p></td></tr>


<tr><th align="right"><var>X'80'</var></th><td>Optimized field extraction files.
<tr><th align="right"><var>X'80'</var></th>
<td>Optimized field extraction files.
<p>
<p>
All nonpreallocated (non-OCCURS) fields are preceded by a field-value length byte. With a length byte on every field, even FLOAT, CODED or BINARY fields, several instructions and one IF test are eliminated from the internal field scan loop. Having a length byte also allows some simple compression of BINARY, CODED, and FLOAT values. Files created with FILEORG=X'80' cannot be opened in Model 204 version 6.1 or earlier.
All non-preallocated (non-<var>OCCURS</var>) fields are preceded by a field-value length byte. With a length byte on every field, even <var>[[Field_design#FLOAT_attribute|FLOAT]]</var>, <var>[[Field_design#CODED_and_NON-CODED_attributes|CODED]]</var> or <var>[[Field_design#BINARY_attribute|BINARY]]</var> fields, several instructions and one IF test are eliminated from the internal field scan loop. Having a length byte also allows some simple compression of <var>BINARY</var>, <var>CODED</var>, and <var>FLOAT</var> values. Files created with the <var>FILEORG</var> X'80' bit set cannot be opened in Model 204 version 6.1 or earlier.
</p>
</p>
<p>
<p>
This option is automatically set if FILEORG=X'100' is selected.</p></td></tr>
This option is automatically set if the <var>FILEORG</var> X'100' bit is set.</p></td></tr>


<tr><th align="right"><var>X'40'</var></th><td>File skewing enabled.  
<tr><th align="right"><var>X'40'</var></th>
<p class="note"><b>Note: </b> This option is obsolete and no longer recommended by Rocket. </p></td></tr>
<td>File skewing enabled.  
<p class="note"><b>Note: </b> This option is obsolete and no longer recommended. </p></td></tr>


<tr><th align="right"><var> X'20'</var></th><td>Unordered file.</td></tr>
<tr><th align="right"><var> X'20'</var></th>
<td>[[File_design#Unordered_files_.28X.2720.27.29|Unordered]] file.</td></tr>


<tr><th align="right"><var> X'08'</var></th><td>[[Hash key files|Hash key file]].</td></tr>
<tr><th align="right"><var> X'08'</var></th>
<td>[[Hash key files|Hash key file]].</td></tr>


<tr><th align="right"><var> X'04'</var></th><td>Reuse record number (RRN).  
<tr><th align="right"><var> X'04'</var></th><td>[[File design#Reuse Record Number .28X.2704.27.29|Reuse record number (RRN)]].  
<p>This option can be added to any other FILEORG option. If this option is set without the hash key (X'08') or sorted (X'01') options, the unordered option (X'20') is automatically set.</p></td></tr>
<p>This option can be added to any other <var>FILEORG</var> option. If this option is set without the hash key (X'08') or sorted (X'01') options, the unordered option (X'20') is automatically set.</p></td></tr>


<tr><th align="right"><var> X'02'</var></th><td>Sort or hash key required in every record.  
<tr><th align="right"><var> X'02'</var></th>
<td>Sort or hash key required in every record.  
<p>
<p>
This option can be added to the X'08' and X'01' options.</p></td></tr>
This option can be added to the X'08' and X'01' options.</p></td></tr>


<tr><th align="right"><var> X'01'</var></th><td>[[Sorted files|Sorted file]].</td></tr>
<tr><th align="right"><var> X'01'</var></th>
<td>[[Sorted files|Sorted file]].</td></tr>


<tr><th align="right"><var> X'00'</var></th><td>Entry order file. </td></tr>
<tr><th align="right"><var> X'00'</var></th>
<td>[[File_design#Entry_order_files|Entry order]] file. </td></tr>
</table>
</table>



Latest revision as of 23:07, 11 July 2017

File organization

Summary

Default value
0
Parameter type
File
Where set
During file creation
Related products
All
Introduced
Model 204 V6.1 or earlier

Description

The file (Table B) organization.

Valid settings of FILEORG are:

SettingMeaning
X'200' Large file support.
X'100' Enhanced data handling files.

Enables a number of enhancements to the file structure, including support for physical field groups; the definition of up to 32000 fields in a file; system maintained automatic fields; field constraints providing content validation; and improved space management of fields containing large objects.

FILEORG X'100' files have a fixed overhead of 4 bytes in Table B for each field occurrence as opposed to 3 bytes for FILEORG X'80' files, 3 bytes for string fields, and 2 bytes for other fields in other files. In addition, FILEORG X'100' files have a 4-byte overhead per record for a field group ID counter. This overhead is in addition to the space required for the actual values.

Some or all of this additional overhead space can be won back when certain FILEORG X'100' features come into play, such as FLOAT/BINARY field value compression and the use of fieldgroups to eliminate placeholder fields. However, if a file is converted to a FILEORG X'100' file without taking advantage of fieldgroups, and the file contains no compressible FLOAT/BINARY fields (because there are no such fields, or their values are large and thus uncompressible), then an increase in Table B space requirements is likely.

FILEORG X'100' files cannot be loaded via FLOD or FILELOAD except with a Fast/Reload Load All Information (LAI) FLOD/FILELOAD program.

If the FILEORG X'100' bit is set, the X'80' option is automatically set.

Available as of Model 204 V7.5.

X'80' Optimized field extraction files.

All non-preallocated (non-OCCURS) fields are preceded by a field-value length byte. With a length byte on every field, even FLOAT, CODED or BINARY fields, several instructions and one IF test are eliminated from the internal field scan loop. Having a length byte also allows some simple compression of BINARY, CODED, and FLOAT values. Files created with the FILEORG X'80' bit set cannot be opened in Model 204 version 6.1 or earlier.

This option is automatically set if the FILEORG X'100' bit is set.

X'40' File skewing enabled.

Note: This option is obsolete and no longer recommended.

X'20' Unordered file.
X'08' Hash key file.
X'04'Reuse record number (RRN).

This option can be added to any other FILEORG option. If this option is set without the hash key (X'08') or sorted (X'01') options, the unordered option (X'20') is automatically set.

X'02' Sort or hash key required in every record.

This option can be added to the X'08' and X'01' options.

X'01' Sorted file.
X'00' Entry order file.