Features Added in FOCUS 7.6.1

In this section:

Starting in FOCUS 7.6.1, you can define non-FOCUS data sources and join structures with up to 256 segments, create longer HOLD files in FOCUS format, create any number of Dialogue Manager variables with names can be up to 100 characters long, create FML reports with any number of rows, have up to 63 joins in effect at one time, merge up to 16 files, define a longer DESCRIPTION attribute in the Master File, use a 64K buffer to read in fields for a request, and define longer DBA passwords.


Top of page

x
Increased Number of Segments in a Structure

Reference:

Non-FOCUS data sources, JOIN structures used for reporting, and COMBINE structures used for MODIFY can have a maximum of 256 segments. XFOCUS data sources can have 256 segments, but when they are included in COMBINE structures used for MODIFY requests, the limit is 192 (segments plus indices).

The total number of segments in the structure includes segments defined as static cross references (SEGTYPE = KU or KM) in the Master File. Dynamic cross references (SEGTYPE = DKM, DKU, KL, or KLU) are not included in the count.

All other limits such as the number of fields in a Master File, the total length of all fields, and the number of JOINs or COMBINEs allowed are still in effect.

The number of segments in a single FOCUS data source is 64. However, FOCUS data sources can participate in JOIN or COMBINE structures with up to 256 segments. The maximum number of segments plus indices for a single FOCUS data source is 191.

Using an indexed view reduces the maximum number of segments plus indices to 191 for the structure being used. If AUTOINDEX is ON, you may be using an indexed view without specifically asking for one.



x
Reference: Usage Notes for 256 Segments

Maintain supports a maximum of 64 segments for all file types (FOCUS and non-FOCUS).


Top of page

x
Increased Length for HOLD Files in FOCUS Format

Reference:

A FOCUS segment cannot be longer than a FOCUS page, 3968 (4096 minus overhead) bytes. An XFOCUS segment can be up to 16K bytes. In either case, a data source path cannot be longer than 32K bytes.

In prior releases, any HOLD FORMAT FOCUS or XFOCUS request that specified more than a page of data generated the following message, and the data source was not created:

(FOC397)	LENGTH OF FIELDS ON FOCUS DATA PATH EXCEEDS 32K BYTES:
 

The sum of the field lengths on a data source path exceeds the maximum, reduce the size or number of fields.

Now, when you create a FOCUS or XFOCUS data source using the HOLD command, data that is too long to become a single segment will become a parent segment with unique child segments. For a FOCUS data source, the fields will be grouped into normal FOCUS page size segments and added as unique segments up to the total maximum of 32K of data. For an XFOCUS data source, the root segment can hold the first 16K of data, and additional data up to the 32K total, will be placed in a single unique segment.

The FOC397 message will no longer be generated as long as the total length of the data for a segment path is less than 32K.

Each BY field in the request becomes a key in the root segment. Therefore, no BY field can be in the portion of the data placed in a unique child. If a BY field occurs in the portion of the data past the length of the root segment, the following message is generated:

(FOC400)	KEY FIELDS LENGTH IN SEGMENT EXCEEDED MAXIMUM:
 

The key fields in the segment exceeded maximum.



x
Reference: Usage Notes for HOLD FORMAT FOCUS With Unique Child Segments

For more information about HOLD FORMAT FOCUS, see the Creating Reports manual.



Example: Creating a FORMAT FOCUS Data Source With Unique Child Segments

The following request creates a version of the MOVIES data source with data longer than 3968 bytes:

SET ASNAMES=ON
DEFINE FILE MOVIES
NEWTITLE/A1024=TITLE;
END
TABLE FILE MOVIES
PRINT NEWTITLE AS TITLE1
      NEWTITLE AS TITLE2
      NEWTITLE AS TITLE3
      NEWTITLE AS TITLE4
      NEWTITLE AS TITLE5
ON TABLE HOLD AS GIANTMOV FORMAT FOCUS
END

The Master File generated by this request has one unique child segment:

FILENAME=GIANTMOV, SUFFIX=FOC     , $
  SEGMENT=SEG01, SEGTYPE=S1, $
    FIELDNAME=FOCLIST, ALIAS=E01, USAGE=I5, $
         FIELDNAME=TITLE1, ALIAS=E02, USAGE=A1024,  TITLE='TITLE1', $
         FIELDNAME=TITLE2, ALIAS=E03, USAGE=A1024,  TITLE='TITLE2', $
         FIELDNAME=TITLE3, ALIAS=E04, USAGE=A1024,  TITLE='TITLE3', $
  SEGMENT=SEG02, SEGTYPE=U, PARENT=SEG01, $
       FIELDNAME=TITLE4, ALIAS=E05, USAGE=A1024,  TITLE='TITLE4', $
       FIELDNAME=TITLE5, ALIAS=E06, USAGE=A1024,  TITLE='TITLE5', $

Top of page

x
Increased Name Length for Dialogue Manager Variables

Dialogue Manager variable names on z/OS and z/VM can be up to 100 characters.


Top of page

x
Increased Number of Amper Variables

An unlimited number of Dialogue Manager variables can be used in a procedure.


Top of page

x
Raised Limit for Number of FML Rows

Reference:

The limit on FML tag values is now based on available memory rather than on a hardcoded value to service larger FML requests. There is no new syntax and users interact with FML by entering FML requests using an editor or as before.



x
Reference: Error Messages

If it is determined there is no more available memory, an internal routine displays one of the following messages before exiting the product:

Reqfor: out of memory

This indicates either too many labels or too much memory required.

Rectok: out of memory

Generated request cannot be parsed because not enough memory. (This is not an FML-specific message.)


Top of page

x
Increased Number of Joins

The number of joins that can be in effect at one time for one data source has been raised to 63. The joined structure can have a total of up to 64 segments. The total length of all fields can be up to 32K and the number of fields in a data source can be up to 3072.

For example, you can have 63 joins between 64 one-segment data sources or three joins between four 16-segment data sources, or any combination that does not exceed 64 segments.

If you are using a relational data adapter, the Relational Database Management System (RDBMS) may have its own limit for the number of joins allowed in an SQL statement. If you create a joined structure that exceeds the number of JOINs allowed by the RDBMS but is within the number of JOINs allowed by FOCUS, the join is processed by FOCUS, but not optimized (passed to the RDBMS for processing).


Top of page

x
Increased Number of Files in a MATCH FILE Request

Reference:

You could previously merge up to six different data sources or merge data from the same data source up to six times per request. That limit has been raised to 16, allowing you to merge up to 16 data sources in a single MATCH request.

The manner in which MATCH merges the data depends on the request context, or more specifically, the order in which the data sources, BY fields, and display commands are mentioned, as well as on the number of verb objects and BY phrases employed. As before, the following general MATCH conditions apply:

There is no new syntax for this feature.



x
Reference: Usage Notes for MATCH FILE Limit

The limit of 16 files represents the number of files supported in the most complex MATCH FILE requests. Simpler requests may be able to merge a higher number of files.


Top of page

x
Increased Length for DESCRIPTION Attribute in a Master File

The length of the DESCRIPTION attribute for a field definition in a Master File has been raised to 2K.


Top of page

x
Increase to the Total Length of All fields

The length of the LINREC and DATREC buffers has increased to 64K. Therefore, the total length of all fields read in a request can be up to 64K bytes. This includes fields in the Master File that are used in the request, fields created with the DEFINE and COMPUTE commands, and fields created internally as a result of internal computations or field reformatting. The total length of fields in the report output has not increased.

The number of fields allowed has not changed. All existing compiled MODIFY procedures should work without recompiling them.


Top of page

x
Increased Length of DBA Passwords

DBA passwords can be up to 64 characters in length.


Top of page

x
SET MAXLRECL = 65536

How to:

MAXLRECL indicates the largest actual file record length that FOCUS can read. The limit for MAXLRECL is 65536 bytes, allowing the user to read a record twice as large as the length of the internal matrix, which is limited to 32K. Therefore any request has this processing and output limitation.



x
Syntax: How to Enable Reading a File With a 65536 Byte Record Length
SET MAXLRECL = 65536

Information Builders