Features Added in FOCUS 7.6.5

In this section:

Starting in FOCUS 7.6.5, you can use comma-delimited Access File syntax, and create FOCUS and XFOCUS data sources with up to 1022 partitions.


Top of page

x
Comma-delimited Access File

How to:

Reference:

Starting in Version 7.6.5, a comma-delimited Access File has been implemented for FOCUS and XFOCUS data sources.

The Access File for a FOCUS or XFOCUS data source is needed to implement intelligent partitioning or to access a Multi-dimensional index (MDI). You can also use it to specify the data set names for location segments.

In prior releases, the Access File for a FOCUS data source was space delimited and could describe the files associated with several Master Files. The name of the Access File was arbitrary and was specified with the ACCESS = attribute in the Master File.

The new syntax is comma-delimited, similar to the Master File syntax. It can describe the files needed for accessing only one Master File. The name of the Access File must be the same as the Master File name, and it must be specified with the ACCESS = attribute in the Master File.

Both types of syntax are supported in theFOCUS 7.6 track, but starting with FOCUS 7.7, only the comma-delimited syntax will be supported.

Every request supplies the name of a Master File. The Master File is read and the declarations in it are used to access the data source. If the Master File contains an ACCESS= attribute that references an Access File, the Access File is read and used to locate the correct data sources. With the comma-delimited syntax, the Access File must have the same name as the Master File. With the space-delimited syntax, the Access File can have any name. If there is no Access File with the same name as the ACCESS= attribute in the Master File, the request is processed with the Master File alone.

An Access File is required to take advantage of intelligent partitioning. Intelligent partitioning places records containing specific data values in separate physical partitions and uses the Access File to describe the values in the records in each partition. With this information, data access is optimized by retrieving only those partitions whose values are consistent with the selection criteria in the request.

Note: On z/OS, the Access File must be a member of a data set concatenated in the allocation for ddname ACCESS. On z/VM, the Access File must have the file type ACCESS. The Access File has the same DCB attributes as the Master File. On UNIX and Windows, the Access File has the extension .acx.



x
Reference: Access File Attributes for Comma-Delimited Access Files

Each comma-delimited Access File describes the files and MDIs for one Master File, and that Master File must have the same file name as the Access File.

All attribute/value pairs are separated by an equal sign (=), and each pair in a declaration is delimited with a comma (,). Each declaration is terminated with the comma dollar sign (,$).

  1. Each Access File starts with a declaration that names its corresponding Master File.
  2. Next comes the DATA declaration that describes the location of the physical file. If the file is partitioned, it has multiple DATA declarations.

    If the file is intelligently partitioned so that an expression describes which data values reside in each partition, the DATA declaration has a WHERE phrase that specifies this expression.

  3. If the data source has LOCATION segments the LOCATION declaration names a location segment. Its corresponding DATA declaration points to the physical LOCATION file.
  4. If the data source has an MDI, the Access File has an MDI declaration that names the MDI and its target segment, followed by declarations that name the dimensions of the MDI, followed by the MDIDATA declaration that points to the physical MDI file. If the MDI is partitioned, there are multiple MDIDATA declarations for the MDI.


x
Syntax: How to Create an Access File

Master File declaration:

MASTER=mastername,$

where:

mastername

Indicates the name of the Master File with which this Access File is associated. It is the same value included in the Master File ACCESS=filename attribute, used to indicate both the existence of the Access File and its name.

DATA=file_specification, 
   [WHERE= expression; ,]$
[DATA=file_specification, 
   [WHERE= expression; ,]$ ...]

where:

file_specification

Points to the file location. This is a complete file specification. There are can be up to 250 DATA declarations (partitions) in a single Access File. With XFOCUS data sources, this supports creation of a 4 Terabtye database. Using FOCUS data sources, a 500 GB database can be constructed.

The WHERE clause is the basis of the Intelligent Partitioning feature. The expression is terminated with the semi-colon and the entire declaration with the comma/dollar sign. WHERE expressions of the following type are supported:

WHERE = fieldoperatorvalue1 [ OR  value2...]; ,$
WHERE = field FROM value1 TO value2 [AND FROM value3 TO value4];,$

Expressions can be combined with the AND operator.

Location File declarations:

LOCATION=location_segment_name,$   LOCATIONDATA=location_segment_file_specification,$

where:

location_segment_name

Is the name of the segment stored in the location file.

location_segment_file_specification

Is the full file specification for the physical file the segment is located in.

MDI declarations:

MDI=mdiname, TARGET_OF = segname,$
     DIM = [filename.]fieldname [, MAXVALUES = n] ,$
     [DIM = [filename.]fieldname [, MAXVALUES = n] ,$ ...]
 MDIDATA=mdi_file_specification,$
  [MDIDATA=mdi_file_specification,$ ...]

where:

mdiname

Is the name of the MDI.

segname

Is the name of the target segment

filename

Is the name of the file where an MDI dimension resides.

fieldname

Is the name of a field that is a dimension of the MDI.

n

Is the number of distinct values in the dimension. When the MDI is created, the actual dimension value will be converted to an integer of length 1, 2, or 4 bytes, and this number will be stored in the index leaf.

mdi_file_specification

Is the fully-qualified specification of the physical MDI file. If the MDI is partitioned, it is the specification for one partition of the MDI. An MDI can have up to 240 MDIDATA declarations (partitions). An Access File can have an unlimited number of MDIs.



Example: Access File for the VIDEOTR2 Data Source

VIDEOTR2 is an intelligently partitioned FOCUS data source. The Master File has an ACCESS=VIDEOTR2 attribute:

FILENAME=VIDEOTR2,  SUFFIX=FOC,    ACCESS=VIDEOTR2             
SEGNAME=CUST,       SEGTYPE=S1                                 
 FIELDNAME=CUSTID,       ALIAS=CIN,          FORMAT=A4,       $
 FIELDNAME=LASTNAME,     ALIAS=LN,           FORMAT=A15,      $
 FIELDNAME=FIRSTNAME,    ALIAS=FN,           FORMAT=A10,      $
 FIELDNAME=EXPDATE,      ALIAS=EXDAT,        FORMAT=YMD,      $
 FIELDNAME=PHONE,        ALIAS=TEL,          FORMAT=A10,      $
 FIELDNAME=STREET,       ALIAS=STR,          FORMAT=A20,      $
 FIELDNAME=CITY,         ALIAS=CITY,         FORMAT=A20,      $
 FIELDNAME=STATE,        ALIAS=PROV,         FORMAT=A4,       $
 FIELDNAME=ZIP,          ALIAS=POSTAL_CODE,  FORMAT=A9,       $
 FIELDNAME=EMAIL,        ALIAS=EMAIL,        FORMAT=A18,      $
SEGNAME=TRANSDAT, SEGTYPE=SH1,  PARENT=CUST                    
 FIELDNAME=TRANSDATE,    ALIAS=OUTDATE,   FORMAT=HYYMDI,       
   MISSING=ON, $                                               
SEGNAME=SALES,    SEGTYPE=S2,   PARENT=TRANSDAT                
 FIELDNAME=TRANSCODE,    ALIAS=TCOD,    FORMAT=I3,            $
 FIELDNAME=QUANTITY,     ALIAS=NO,      FORMAT=I3S,           $
 FIELDNAME=TRANSTOT,     ALIAS=TTOT,    FORMAT=F7.2S,         $
SEGNAME=RENTALS,  SEGTYPE=S2,   PARENT=TRANSDAT                
 FIELDNAME=MOVIECODE,    ALIAS=MCOD,      FORMAT=A6, INDEX=I, $
 FIELDNAME=COPY,         ALIAS=COPY,      FORMAT=I2,          $
 FIELDNAME=RETURNDATE,   ALIAS=INDATE,    FORMAT=YMD,         $
 FIELDNAME=FEE,          ALIAS=FEE,       FORMAT=F5.2S,       $
 DEFINE DATE/I4 = HPART(TRANSDATE, 'YEAR', 'I4');              

The following shows the Access File, named VIDEOTR2, on z/OS:

MASTER=VIDEOTR2 ,$            
  DATA=USER1.VIDPART1.FOCUS,    
    WHERE=DATE EQ 1991;,$           
                                  
  DATA=USER1.VIDPART2.FOCUS,    
    WHERE=DATE FROM 1996 TO 1998; ,$
                                  
  DATA=USER1.VIDPART3.FOCUS,    
   WHERE=DATE FROM 1999 TO 2000;,$ 

The following shows the Access File, named VIDEOTR2, on CMS:

MASTER=VIDEOTR2 ,$            
  DATA='VIDPART1 FOCUS A',    
    WHERE=DATE EQ 1991;,$           
                                  
  DATA='VIDPART2 FOCUS A',    
    WHERE=DATE FROM 1996 TO 1998; ,$
                                  
  DATA='VIDPART3 FOCUS A',    
   WHERE=DATE FROM 1999 TO 2000;,$ 

Top of page

x
1022 Partitions

Reference:

Starting with Version 7.6.5, FOCUS and XFOCUS data sources can consist of up to 1022 physical files. The number of physical files associated with one FOCUS or XFOCUS data source is the sum of its partitions and LOCATION files. This sum must be less than or equal to 1022. FOCUS or XFOCUS data sources can grow in size over time, and can be re-partitioned based on the requirements of the application.

In order to concatenate multiple partitions, you must have a FOCUS Access File or a USE command. Both of these now support up to 1022 files for a data source. For complete information about partitioning a data source and creating an Access File, see the Describing Data manual.



x
Reference: Usage Notes for 1022 Partitions

The following guidelines apply:


Information Builders