Types of FOCUS Data Sources


The type of FOCUS data source you create depends on the amount of storage you require:

The following table lists the usable bytes in a segment in FOCUS and XFOCUS data sources.

Type of Segment

FOCUS Data Source

XFOCUS Data Source

Segment in a single-segment Master File



Root or leaf of a multi segment Master File



Any other type of segment



Using a SUFFIX=FOC Data Source

The FOCUS data source size can be a maximum of two gigabytes per physical data file. Through partitioning, one logical FOCUS data source can consist of up to 1022 physical files of up to two gigabytes each.

Using an XFOCUS Data Source

How to:


The XFOCUS data source is a database structure that parallels the original FOCUS data source, but extends beyond its capabilities with several significant performance and data volume improvements:

  • Allows over four times the amount of data per segment instance.
  • Holds 16 times as much data in a single physical file - up to 32 gigabytes.
  • With the multi-dimensional index (MDI) paradigm, sophisticated indexed searches are possible, with retrieval time improved by as much as 90%. (Performance without the MDI may show only marginal improvement.)

The XFOCUS data source has 16K database pages. The SUFFIX in the Master File is XFOCUS. FOCUS data sources (SUFFIX=FOC) have 4K database pages.

All existing commands that act on FOCUS files work on XFOCUS files. No new syntax is required, except for MDI options.

You can convert to an XFOCUS data source from a FOCUS data source by changing the SUFFIX in the Master File and applying the REBUILD utility.

Syntax: How to Specify an XFOCUS Data Source

FILE = filename, SUFFIX = XFOCUS, $



Can be any valid file name.

Syntax: How to Control the Number of Pages Used for XFOCUS Data Source Buffers

FOCUS data sources use buffer pages that are allocated by the BINS setting. Buffer pages for XFOCUS data sources are allocated by the XFOCUSBINS setting




Is the number of pages used for XFOCUS data source buffers. Valid values are 16 to 1023. 64 is the default value.

The memory is not actually allocated until an XFOCUS data source is used in the session. Therefore, if you issue the ? SET XFOCUSBINS query command, you will see the number of pages set for XFOCUS buffers and an indication of whether the memory has actually been allocated (passive for no, active for yes).

Procedure: How to Create an XFOCUS Data Source

There are two methods for creating an XFOCUS data source. You can either issue the CREATE FILE command or use the HOLD FORMAT XFOCUS command.

Do the following to create an XFOCUS data source using the CREATE FILE command:

  1. Create a Master File that specifies SUFFIX=XFOCUS.
  2. Issue the CREATE FILE command
    CREATE FILE name



    Is the name of the Master File that specifies SUFFIX=XFOCUS.

Reference: Usage Notes for the XFOCUS Data Source

  • On mainframe platforms, the LRECL and BLKSIZE are both 16384 (16K).
  • The extension on UNIX and Windows is .foc.
  • Alphanumeric fields with the format A4096 are supported. They are not limited to A3968 as in SUFFIX=FOC.
  • The CALCFILE utility automatically adjusts the calculation algorithm to the suffix type and can be used to size the file.
  • The USE command supports 1022 files of mixed XFOCUS and FOC suffixes as long as each type of data source has its own Master File with the correct suffix (FOC for the FOCUS data sources, XFOCUS for the XFOCUS data sources).

    Specify USE...AS for the data sources with suffix FOC and another AS for the data sources with suffix XFOCUS in the same USE.

  • An attempt to access a SUFFIX=XFOCUS data source with an earlier release causes an error because SUFFIX=XFOCUS is not recognized as a valid value.
  • JOIN commands among suffix FOC and suffix XFOCUS data sources are supported. Master File cross-references are supported to other suffix XFOCUS data sources only.
  • The COMBINE command supports SUFFIX=XFOCUS data sources. You can COMBINE SUFFIX FOC and XFOCUS in a single COMBINE.