Features Added in FOCUS 7.7.03

In this section:

The following limits were raised in FOCUS 7.7.03.

Increase for the Length of All Fields

The total length of all fields in a request can be up to 256K.

The maximum number of fields you can include in a report request is approximately 1024 (495 for MATCH requests). However, when adding fields to a request, it is important to be aware that the allowable number of fields includes all named fields, whether printed or not, including data source fields, temporary fields (virtual fields and calculated values), certain internal fields (for example, TABPAGENO), and fields used in headings and footings. The total does not include sort fields.

This field limit is also affected by the combined length of fields in the request. Longer field lengths reduce the total number of printable fields.

When you create a report, the fields specified in the request are stored in a 256K data area (3956 bytes for MATCH requests). The capacity of the data area is affected by a number of factors:

If the combined length of the display fields in the data area exceeds the maximum capacity, an error message displays. To correct the problem, adjust the number or lengths of the fields in the request.

Support for 128 Sort Phrases in a Request

The total number of sort phrases in a single request (the combination of BY fields and ACROSS fields) is 128. This includes sorts that may be generated internally as part of report processing, such as generating a FOCLIST field.

The actual number of sorts allowed may be less than 128 if other existing limitations are encountered, especially in the case of ACROSS. For example, if the total number of ACROSS columns exceeds the maximum of 1151 columns for a single ACROSS phrase, an error will be generated.

512 Segments

The maximum number of segments supported in a structure is 512. This structure can be created by joining or combining data sources.

The maximum number of segments in a single FOCUS data source is 64. However, XFOCUS data sources can have up to 512 segments. The maximum number of segments plus indices for a single FOCUS data source is 191.

The total length of all fields can be up to 256K.

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 (that is, passed to the RDBMS for processing).

Increased Length for DEFINE FUNCTION Names

The maximum length of the name for a DEFINE FUNCTION has been increased to 64 characters.

Dialogue Manager Labels Up to 64 Characters

Dialogue Manager labels identify a section of code in a FOCEXEC. You can use a -GOTO command to branch to a label, or use a -REPEAT command to loop back when a label is encountered. Dialogue Manager supports labels up to 64 characters long. Label names can consist of letters, numbers, and underscores.

Example: Using Dialogue Manager Labels

The following procedure uses label names up to 64 characters long.

-THIS_IS_THE_TOP_OF_THE_PROCEDURE_AND_THAT_IS_64_CHARACTERS_LONG
-TYPE THE LABEL HERE IS:
-TYPE THIS_IS_THE_TOP_OF_THE_PROCEDURE_AND_THAT_IS_64_CHARACTERS_LONG
-TYPE
-PROMPT &GOWHERE
-IF &GOWHERE EQ 1 THEN GOTO 123456789123456789 ;
-GOTO THIS_IS_THE_END_OF_THE_PROCEDURE
-123456789123456789
-TYPE THIS IS FROM GOWHERE EQUAL TO 1
-TYPE THE LABEL IS 123456789123456789
-TYPE
-GOTO THIS_IS_THE_TOP_OF_THE_PROCEDURE_AND_THAT_IS_64_CHARACTERS_LONG
-THIS_IS_THE_END_OF_THE_PROCEDURE
-TYPE THIS IS FROM GOWHERE NOT EQUAL TO 1
-TYPE THE LABEL IS THIS_IS_THE_END_OF_THE_PROCEDURE
-EXIT

Now execute the procedure, supplying the value 1 for &GOWHERE the first time and supplying the value 2 the second time.

The output is:

THE LABEL HERE IS:
THIS_IS_THE_TOP_OF_THE_PROCEDURE_AND_THAT_IS_64_CHARACTERS_LONG
PLEASE SUPPLY VALUES REQUESTED
GOWHERE=  > 1
THIS IS FROM GOWHERE EQUAL TO 1
THE LABEL IS 123456789123456789
THE LABEL HERE IS:
THIS_IS_THE_TOP_OF_THE_PROCEDURE_AND_THAT_IS_64_CHARACTERS_LONG
GOWHERE=  > 2
THIS IS FROM GOWHERE NOT EQUAL TO 1
THE LABEL IS THIS_IS_THE_END_OF_THE_PROCEDURE

Information Builders