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'm attempting to create table footers with different layout & formatting, depending on a global setting variable. So far I've run into limitations at every angle I've tried. The intent is to be able to change what type of footer I get under a report by changing a single variable and without requiring report creators to include a gazillion different files to get the desired result.
I thought I was on the right path, but maybe not...
My procedure looks like this:
-* Global footer type setting
-SET &FOOTERTYPE = 'LINE';
-* This is in an include actually
-********************************
-* As an aside; Does this really need to be done with GOTO's? It seems so clumsy...
-IF &FOOTERTYPE EQ 'BLOCK' THEN GOTO FTBLOCK;
-IF &FOOTERTYPR EQ 'LINE' THEN FOTO FTLINE;
-GOTO FTNONE;
-* A block-model footer
-FTBLOCK
-SET &FF_LINE = '-*';
-SET &FF_BLCK = '-INCLUDE footing_block.ftm';
-GOTO FTEND
-* A single-line footer
-FTLINE
-SET &FF_LINE = '-INCLUDE footing_line.ftm';
-SET &FF_BLCK = '-*';
-GOTO FTEND
-FTNONE
-SET &FF_LINE = '-*';
-SET &FF_BLCK = '-*';
-GOTO FTEND
-FTEND
-* Until here
-********************************
TABLE FILE CARS
BY NAME
WHERE RECORDLIMIT EQ 25;
ON TABLE PCHOLD FORMAT HTML
&FF_BLCK.EVAL
&FF_LINE.EVAL
ON TABLE SET HTMLCSS OFF
ON TABLE SET CSSURL 'report.css'
ON TABLE SET STYLE *
INCLUDE = footing_test,
$
ENDSTYLE
END
My stylesheet attempts to use conditional formatting based on the &FOOTERTYPE variable, but it seems that variables in STY-files don't get expanded? Anyway, here's the style definition (footing_test.sty):
A typical footer include-file (this is the 'LINE' variant) looks like:
FOOTING
"User : &UID<+0>&|mdash;<+0>Report printed : &DATEDMYY<+0>&|mdash;<+0>Report name : &FOCFEXNAME"
I think you get the drift of what I'm trying to do here, any ideas on how to get the desired result?This message has been edited. Last edited by: Kerry,
WebFOCUS 8.1.03, Windows 7-64/2008-64, IBM DB2/400, Oracle 11g & RDB, MS SQL-Server 2005, SAP, PostgreSQL 11, Output: HTML, PDF, Excel 2010 : Member of User Group Benelux :
You can "not" use Dialogue Manager variables to conditionally style, it has to be a column stored in the request matrix.
We can never test your code because we don't have a CARS file. Please use the IBISAMP data sources and replicate your problems with that. To access these sources, see the 1st 2 lines in the code below.
This code will conditionally style, change LINE to BLOCK to see how it works:
APP APPENDPATH IBISAMP
-RUN
-SET &FOOTERTYPE = 'LINE';
DEFINE FILE CAR
FLAG1/A1 = IF '&FOOTERTYPE.EVAL' EQ 'BLOCK' THEN 'Y' ELSE 'N';
FLAG2/A1 = IF '&FOOTERTYPE.EVAL' EQ 'LINE' THEN 'Y' ELSE 'N';
END
TABLE FILE CAR
SUM
CAR
RETAIL_COST
DEALER_COST
FLAG1 NOPRINT
FLAG2 NOPRINT
BY COUNTRY
ON TABLE SET STYLE *
TYPE=DATA, COLUMN=N2, BACKCOLOR='LIGHT BLUE', WHEN=FLAG1 EQ 'Y',$
TYPE=DATA, COLUMN=N2, COLOR='RED', WHEN=FLAG2 EQ 'Y',$
ENDSTYLE
END
-EXIT
hth
For the clumsy code:
quote:
-* This is in an include actually -******************************** -* As an aside; Does this really need to be done with GOTO's? It seems so clumsy...
In addition to Tom's suggestion and if you don't particularly like the use of GOTO, you can attempt something like:
-DEFAULTS &FOOTERTYPE = 'NONE';
-SET &FOOTERINC = IF &FOOTERTYPE EQ 'LINE' THEN '-INCLUDE footing_line.ftm' ELSE
- IF &FOOTERTYPE EQ 'BOCK' THEN '-INCLUDE footing_block.ftm' ELSE '-*';
-********************************
Then in your report request:
TABLE FILE blah
...
ON TABLE PCHOLD FORMAT HTML
&FOOTERINC.EVAL
...
END
The example above assumes that you either have a line footing -or- a block footing -or- none at all but *never* both, so there's no need to use 2 & variables.
Originally posted by Tom Flynn: You can "not" use Dialogue Manager variables to conditionally style, it has to be a column stored in the request matrix.
We can never test your code because we don't have a CARS file. Please use the IBISAMP data sources and replicate your problems with that. To access these sources, see the 1st 2 lines in the code below.
Aha, so that's how to access the sample data. I figured it would need to be among our projects somewhere, but apparently that's not needed. Thanks for the pointer.
Too bad about the first part of your reply though, there's no way to guarantee that our report editors apply that to their reports I get the impression that approach would get a little complicated once ACROSS or OVER columns enter the picture, plus, it could break if they add extra columns to their reports too.
I'll probably end up conditionally including different footer style files, instead of using conditional styling. That was a bit of a workaround to avoid the extra files to include by the editors to begin with, but if they have to add code to each report anyway then it'd better be something easy I think I may be able to add that to the ftp-file though. Then at least new reports will get this automatically.
quote:
For the clumsy code:
-DEFAULT &FOOTERTYPE = 'NONE'
-GOTO FT&FOOTERTYPE
Of course! Good trick, I'll certainly remember that one, thanks.
WebFOCUS 8.1.03, Windows 7-64/2008-64, IBM DB2/400, Oracle 11g & RDB, MS SQL-Server 2005, SAP, PostgreSQL 11, Output: HTML, PDF, Excel 2010 : Member of User Group Benelux :
This is just a suggestion: I never use STY files - I put the styling in a FEX and include the FEX. You cannot have Dialogue Manager code in STY files, which makes them quite inflexible.
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server