Focal Point Banner


As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.

Join the TIBCO Community
TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.

  • From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
  • Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
  • Request access to the private WebFOCUS User Group (login required) to network with fellow members.

Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.


Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [SOLVED] Serpentine column

Read-Only Read-Only Topic
Go
Search
Notify
Tools
[SOLVED] Serpentine column
 Login/Join
 
Gold member
posted
I have a report of one long narrow column. I would like to wrap it into three columns per page so that at the end of each page, the column continues back to the top for column 2 then at the end of column 2, it wraps to the top of column 3.

This message has been edited. Last edited by: <Kathryn Henning>,


Dev Studio /7.6.11/7.7.02M
MVS/USS
AIX/SOLARIS
Windows WF Client 7.6.8/7.6.11
 
Posts: 64 | Location: Eastern and middle NC | Registered: March 13, 2007Report This Post
Expert
posted Hide Post
What I would suggest is to number the lines, then calculate the column and row number per page.

e.g.
DEFINE FILE SYSCOLUM
 CNTR/I9 WITH NAME = IF LAST CNTR EQ 0 THEN 32 ELSE LAST CNTR + 1 ;
 Cntr/I9 WITH NAME = CNTR - 32 ;
 Col/I9  WITH NAME = (Cntr / 30) + 1 ;
 Row/I9  WITH NAME = IMOD(Cntr, 30, 'I9') ;
END
TABLE FILE SYSCOLUM
   SUM CNTR 
       COMPUTE
       CHAR/A1 = HEXBYT(CNTR, 'A1') ;
ACROSS Col	NOPRINT
BY Row		NOPRINT
WHERE RECORDLIMIT EQ 224
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET STYLE *
UNITS=CM, PAGESIZE='A4', LEFTMARGIN=0.635000, RIGHTMARGIN=0.635000,
    TOPMARGIN=0.635000, BOTTOMMARGIN=0.635000, SQUEEZE=ON,
    ORIENTATION=LANDSCAPE, $
TYPE=REPORT, GRID=OFF, FONT=TIMES NEW ROMAN, $
ENDSTYLE
END


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6347 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Report This Post
Master
posted Hide Post
Good One


_____________________
WF: 8.0.0.9 > going 8.2.0.5
 
Posts: 668 | Location: Veghel, The Netherlands | Registered: February 16, 2010Report This Post
Gold member
posted Hide Post
Thanks Waz,

I remembered my old mailing label code after I posted my question but your solution is much better. I have another solution that works except for being plagued by rounding of page, row, and column numbers.

Thanks again for your help.

SRC


Dev Studio /7.6.11/7.7.02M
MVS/USS
AIX/SOLARIS
Windows WF Client 7.6.8/7.6.11
 
Posts: 64 | Location: Eastern and middle NC | Registered: March 13, 2007Report This Post
Expert
posted Hide Post
If this answers your question, please edit your first post in this thread and add [SOLVED] or [CLOSED] to the title.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6347 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Report This Post
Gold member
posted Hide Post
I updated the serpentine code to do a prompted number of columns and font sizes. The customer wanted a header line when there is an alpha break, like ----B---- when the data goes from A names to B names.

 
-SET &ECHO=ALL;

-DEFAULT &CLS=3
-PROMPT &CLS.(<1,1>,<2,2>,<3,3>,<4,4>,<5,5>,<6,6>).Columns.
-DEFAULT &FSIZE=11;
-PROMPT &FSIZE.(<Small,9>,<Medium,11>,<Large,14>).Font size.

-SET &COLBRK1=0;
-SET &COLBRK2=0;
-SET &COLBRK3=0;
-SET &COLBRK4=0;
-SET &COLBRK5=0;
-SET &COLBRK6=0;
-* we want 30 Lines per column for this test
-SET &LLS=&CLS*30;
-SET &LL=(&LLS / &CLS) ;
-SET &COLBRK1=(&LLS / &CLS) + 1;
-IF &CLS EQ 1 THEN GOTO ENDCLS;
-SET &COLBRK2=(&LLS / &CLS) + &COLBRK1;
-IF &CLS EQ 2 THEN GOTO ENDCLS;
-SET &COLBRK3=(&LLS / &CLS) + &COLBRK2;
-IF &CLS EQ 3 THEN GOTO ENDCLS;
-SET &COLBRK4=(&LLS / &CLS) + &COLBRK3;
-IF &CLS EQ 4 THEN GOTO ENDCLS;
-SET &COLBRK5=(&LLS / &CLS) + &COLBRK4;
-IF &CLS EQ 5 THEN GOTO ENDCLS;
-SET &COLBRK6=(&LLS / &CLS) + &COLBRK5;
-ENDCLS

DEFINE FILE SYSCOLUM
F_INIT/A6=' ';
FINIT/A1=EDIT(FILENAME,'9');
FLNAM/A40=SUBSTR(80,FILENAME,1,60,60,FLNAM);
END

TABLE FILE SYSCOLUM
WHERE READLIMIT EQ 500
BY FINIT
BY FLNAM
ON TABLE SET ASNAMES ON
ON TABLE SET HOLDLIST PRINTONLY
ON TABLE HOLD
END

-RUN

DEFINE FILE HOLD
FNAM/A40='---- ' | FINIT | ' ----';
END

-RUN

TABLE FILE HOLD
BY FINIT
BY FNAM AS 'FLNAM'
ON TABLE SET ASNAMES ON
ON TABLE SET HOLDLIST PRINTONLY
ON TABLE HOLD AS INITS
END
TABLE FILE HOLD
BY FINIT
BY FLNAM
ON TABLE HOLD
ON TABLE SET ASNAMES ON
ON TABLE SET HOLDLIST PRINTONLY
END
 
DEFINE FILE HOLD CLEAR
END

TABLE FILE HOLD
PRINT
FINIT
FLNAM
BY FINIT NOPRINT
BY LOWEST FLNAM  NOPRINT
ON TABLE SET ASNAMES ON
ON TABLE SET HOLDLIST PRINTONLY
ON TABLE HOLD AS H1
MORE
FILE INITS
END

DEFINE FILE H1
CNT1/I4=CNT1+1;
CNT2/I4=IF CNT2 EQ &LLS THEN 1 ELSE CNT2+1;
Row/I4=IF Row EQ &LL THEN 1 ELSE Row+1;
COL/I4=IF CNT2 LT &COLBRK1 THEN 1
-IF &CLS=1 GOTO ENDCLBRK
  ELSE IF CNT2 LT &COLBRK2 THEN 2
-IF &CLS=2 GOTO ENDCLBRK
  ELSE IF CNT2 LT &COLBRK3 THEN 3
-IF &CLS=3 GOTO ENDCLBRK
  ELSE IF CNT2 LT &COLBRK4 THEN 4
-IF &CLS=4 GOTO ENDCLBRK
  ELSE IF CNT2 LT &COLBRK5 THEN 5
-IF &CLS=5 GOTO ENDCLBRK
  ELSE IF CNT2 LT &COLBRK6 THEN 6
-ENDCLBRK
  ELSE 9;
PAG/I3=IF LAST Row EQ &LL AND LAST COL EQ &CLS THEN PAG+1 ELSE  PAG;
END
-RUN
TABLE FILE H1
SUM 
FLNAM
ACROSS COL	NOPRINT
BY PAG		NOPRINT
BY Row		NOPRINT

ON PAG PAGE-BREAK
ON TABLE PCHOLD FORMAT HTML

HEADING CENTER
"Test of Serpentine Columns With Header Lines at Alpha Breaks"

ON TABLE SET STYLE *
UNITS=CM, PAGESIZE='A4', LEFTMARGIN=0.635000, RIGHTMARGIN=0.635000,
    TOPMARGIN=0.635000, BOTTOMMARGIN=0.635000, SQUEEZE=ON,
    ORIENTATION=LANDSCAPE, $
TYPE=REPORT, GRID=OFF, FONT=TIMES NEW ROMAN, SIZE=&FSIZE,$
ENDSTYLE
END

This message has been edited. Last edited by: SRC,


Dev Studio /7.6.11/7.7.02M
MVS/USS
AIX/SOLARIS
Windows WF Client 7.6.8/7.6.11
 
Posts: 64 | Location: Eastern and middle NC | Registered: March 13, 2007Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [SOLVED] Serpentine column

Copyright © 1996-2020 Information Builders