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.
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, 2007
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
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, 2007
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, 2007