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 am trying to change a 4 page report with 2 columns into a 1 page report that wraps the pages up into a 4 column single page report(with 8 data columns 2 per page).This message has been edited. Last edited by: Todd_Wallace,
WebFOCUS 8.1.05 Windows-iSeries DB2, All Outputs HTML
I am not sure if this is the best way but one way you can do this is by making an across field based on the row count.
Here is an example with the CAR table although I made it longer so won't have to make FIELD_1 or FIELD_2.
JOIN
FILE CAR AT COUNTRY TAG O1 TO MULTIPLE
FILE CAR AT COUNTRY TAG J1 AS J1
END
TABLE FILE CAR
PRINT
O1.COUNTRY AS 'CT1'
J1.COUNTRY AS 'CT2'
O1.MODEL AS 'MD1'
J1.MODEL AS 'MD2'
COMPUTE RNK/I7=RNK + 1;
ON TABLE SET ASNAME ON
ON TABLE HOLD AS TTT
END
-RUN
DEFINE FILE TTT
FIELD_1/A600=CT1 || '-' | CT2;
FIELD_2/A600=MD1 || '-' | MD2;
ACROSS_GROUP/I7=RNK/23;
-* The BY_GROUP is to put the across values on the same line by using modular division to only get the remainder
BY_GROUP/I7=IMOD(RNK,23,'I7');
-* If you want it to dynamically split it can comment out the above two defines and use the below. Just change the 4 in the GROUPS_OF field to say how many columns you want.
-*GROUPS_OF/I7=(&LINES/4)+1;
-*ACROSS_GROUP/I7=RNK/GROUPS_OF;
-*BY_GROUP/I7=IMOD(RNK,GROUPS_OF,'I7');
END
TABLE FILE TTT
SUM
FIELD_1
FIELD_2
BY BY_GROUP NOPRINT
ACROSS ACROSS_GROUP NOPRINT
END
This message has been edited. Last edited by: Crymsyn,
html, i assume? ok , split your output into 4 sections, and display them side by side in an html table eg:
TABLE FILE CAR
SUM SALES BY COUNTRY IF COUNTRY EQ 'ENGLAND'
ON TABLE HOLD AS MYTAB1 FORMAT HTML
END
TABLE FILE CAR
SUM SALES BY COUNTRY IF COUNTRY EQ 'FRANCE'
ON TABLE HOLD AS MYTAB2 FORMAT HTML
END
... etc for 2 more tables named MYTAB3 and MYTAB4 For your data, use some other filters, maybe make an extract with line numbers and just restrict to certain ranges then...
Thanks for the 2 suggestions. Crymsyn I have applied your solution and it seems to work very well. Susannah I could break the report into 4 pieces but the parts I'm reporting on are unique and change all the time so my page breaks would be uneven but I'll be sure to use that in the future if I have a nicely divided column.
WebFOCUS 8.1.05 Windows-iSeries DB2, All Outputs HTML