| After being transferred between 5 or 6 different people at the IBI office in
London I finally got an answer to this question.
The NOSPLIT option will not be available on VAX till version 6.5(five). It was
available on V6.0+ for mainframes but not for VAX's. The guy told me that V6.5
is the version that brings commonality between all systems (Oh look, a flying
pig).
The question is, without the NOSPLIT is there any *SIMPLE* (note the emphasis on
*SIMPLE*) way to do this.
Stuart.
|
|
From pages 5-40,41,42 of
FOCUS TECHNIQUES
Aids to System Development
Copyright 1987, by Information Builders, Inc.
Grouping of Data when Page-Breaking
-----------------------------------
Summary: In some reports, it would be desirable to keep all detail lines
of similar information on the same page (i.e., all detail lines
relating to a sort field value). Splitting detail lines usually
occurs if there are only a few detail lines per sort break, but
we don't want the last group to be split over a page break.
NOTE: - This feature will be available as the NOSPLIT command in
FOCUS Release 5.5. It will provide the same capabilities
as this technique, but will require only one pass of the
data.
- The key to the technique is the following:
- Determine the number of detail lines in a group.
- If the group cannot fit on the page then increment the
page counter.
- Place the required information in a HOLD file.
- Report from the HOLD file, performing page-breaking on
the calculated page counter field.
- The Dialogue Manager &MAXLINES variable is used to
determine the amount of space available for detail lines.
Example: The following example illustrates this technique using the
CAR FOCUS database.
TABLE FILE CAR
WRITE CNT.SALES
BY COUNTRY
PRINT CAR
MODEL
BODYTYPE
COMPUTE LINECOUNT/I5=IF ( COUNTRY NE LAST COUNTRY ) AND
( (C1+LINECOUNT) LE &MAXLINES ) THEN LINECOUNT+1
ELSE IF ( COUNTRY EQ LAST COUNTRY ) AND
( LINECOUNT LT &MAXLINES ) THEN LINECOUNT+1
ELSE 1;
PAGECOUNT/I5=IF LINECOUNT EQ 1 THEN PAGECOUNT+1 ELSE PAGECOUNT;
BY COUNTRY
ON TABLE HOLD
END
TABLE FILE HOLD
PRINT BODYTYPE
BY PAGECOUNT NOPRINT
BY COUNTRY
BY CAR
BY MODEL
ON PAGECOUNT PAGE-BREAK
END
$ focus
FOCUS 6.1.1 (C)Copyright 1991 Information Builders Inc.
Licensed for Digital Internal Administrative Use (A87110072)
>>ex grouper
PLEASE SUPPLY VALUES REQUESTED
MAXLINES=>8
>
NUMBER OF RECORDS IN TABLE= 18 LINES= 18
HOLDING...
>
NUMBER OF RECORDS IN TABLE= 18 LINES= 18
PAGE 1
COUNTRY CAR MODEL BODYTYPE
------- --- ----- --------
ENGLAND JAGUAR V12XKE AUTO CONVERTIBLE
XJ12L AUTO SEDAN
JENSEN INTERCEPTOR III SEDAN
TRIUMPH TR7 HARDTOP
FRANCE PEUGEOT 504 4 DOOR SEDAN
PAGE 2
COUNTRY CAR MODEL BODYTYPE
------- --- ----- --------
ITALY ALFA ROMEO 2000 4 DOOR BERLINA SEDAN
2000 GT VELOCE COUPE
2000 SPIDER VELOCE ROADSTER
MASERATI DORA 2 DOOR COUPE
JAPAN DATSUN B210 2 DOOR AUTO SEDAN
TOYOTA COROLLA 4 DOOR DIX AUTO SEDAN
PAGE 3
COUNTRY CAR MODEL BODYTYPE
------- --- ----- --------
W GERMANY AUDI 100 LS 2 DOOR AUTO SEDAN
BMW 2002 2 DOOR SEDAN
2002 2 DOOR AUTO SEDAN
3.0 SI 4 DOOR SEDAN
3.0 SI 4 DOOR AUTO SEDAN
530I 4 DOOR SEDAN
530I 4 DOOR AUTO SEDAN
>>
|