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.
As always, thank you in advance for any advice or guidance you can provide me. This community has been wonderful to me, and I appreciate it.
My latest challenge is to create a portal using
Chapter 8: Enhancing Portals Using Interactive Features and Coding Techniques in the manual titled Business Intelligence Portal Release 8.2 Version 04.
The portal works beautifully overall. I followed the directions to create a reporting object, its accompanying filter panel, and then I combined them in the filter panel.
The one glitch I'm experiencing has to do with the dynamic filters I've established.
TABLE FILE CAR
BY CAR.ORIGIN.COUNTRY
BY CAR.COMP.CAR
BY CAR.CARREC.MODEL
BY CAR.BODY.BODYTYPE
WHERE ( CAR.ORIGIN.COUNTRY EQ &COUNTRY.(FIND CAR.ORIGIN.COUNTRY IN car|FORMAT=A10).COUNTRY:.QUOTEDSTRING )
WHERE ( CAR.COMP.CAR EQ &CAR.(FIND CAR.COMP.CAR IN car|FORMAT=A16).CAR:.QUOTEDSTRING )
WHERE ( CAR.CARREC.MODEL EQ &MODEL.(FIND CAR.CARREC.MODEL IN car|FORMAT=A24).MODEL:.QUOTEDSTRING )
WHERE ( CAR.BODY.BODYTYPE EQ &BODYTYPE.(FIND CAR.BODY.BODYTYPE IN car|FORMAT=A12).BODYTYPE:.QUOTEDSTRING );
ON TABLE SET PAGE-NUM NOLEAD
ON TABLE SET ASNAMES ON
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT HTML
ON TABLE SET HTMLEMBEDIMG ON
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
INCLUDE = IBFS:/EDA/EDASERVE/_EDAHOME/ETC/warm.sty,
$
ENDSTYLE
END
In the filter panel, I chained all four filters together. That way, when one changes, they all update appropriately.
They are all optional, dynamic filters. None are multiselect.
They all work great except one.
If someone selects the model first, the report headings show without data.
If someone selects the model, the other data around it should populate the report.
To liken it to a country, region, store example, if someone chooses the store first, the country and region should update, but they don't.
Does anyone have any suggestions?
I apologize if this seems like a mundane question. I've looked in several manuals, and I've tried various combinations of dynamic and static parameters, all with varying degrees of success. I think I am missing something obvious. This is my first foray into reporting objects.
Thank you again for any advice, even if it's to direct me to a manual or post. I might have overlooked something.This message has been edited. Last edited by: FP Mod Chuck,
You need to see this as a Hierarchy between Country - > Car - > Model - > BodyType. Chaining the control together will insure that from the selection you made, the following criteria will update accordingly : from left to right and will never update from right to left.
In other words, a parent selection will update downward its child but a child selection will not update its parent backward. Always in the "- >" direction never in the opposite direction.
If you want to have the Country and Car list updated according to selected Model you will need to go with js (or jquery) recursively. I don't think that it will be possible with a RO or dynamic filter built that way. You will need to code.
WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF In Focus since 2007
Posts: 2409 | Location: Montreal Area, Qc, CA | Registered: September 25, 2013
Are you using the Page Designer to assemble your content and generate the parameters? You may want to use the WITHIN= in your WHERE test and try putting your code in a Page. Allowing the Page to generate the parameters makes this a little easier to deal with and picking a value in any of the parameters cascades to the available values in the others. Create this example and put it in a Page. When you get prompted to create the parameters you'll see 4 parameters that are inter-related.
-DEFAULT &COUNTRY=_FOC_NULL;
-DEFAULT &CAR=_FOC_NULL;
-DEFAULT &MODEL=_FOC_NULL;
-DEFAULT &BODYTYPE=_FOC_NULL;
TABLE FILE CAR
BY CAR.ORIGIN.COUNTRY
BY CAR.COMP.CAR
BY CAR.CARREC.MODEL
BY CAR.BODY.BODYTYPE
WHERE ( CAR.ORIGIN.COUNTRY EQ &COUNTRY.(FIND CAR.ORIGIN.COUNTRY IN car|FORMAT=A10).COUNTRY:.QUOTEDSTRING )
WHERE ( CAR.COMP.CAR EQ &CAR.(FIND CAR.COMP.CAR IN car|FORMAT=A16,WITHIN=COUNTRY).CAR:.QUOTEDSTRING )
WHERE ( CAR.CARREC.MODEL EQ &MODEL.(FIND CAR.CARREC.MODEL IN car|FORMAT=A24,WITHIN=CAR).MODEL:.QUOTEDSTRING )
WHERE ( CAR.BODY.BODYTYPE EQ &BODYTYPE.(FIND CAR.BODY.BODYTYPE IN car|FORMAT=A12, WITHIN=CAR).BODYTYPE:.QUOTEDSTRING );
ON TABLE SET PAGE-NUM NOLEAD
ON TABLE SET ASNAMES ON
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT HTML
ON TABLE SET HTMLEMBEDIMG ON
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
INCLUDE = IBFS:/EDA/EDASERVE/_EDAHOME/ETC/warm.sty,
$
ENDSTYLE
END
WebFOCUS 8206, Unix, Windows
Posts: 1853 | Location: New York City | Registered: December 30, 2015
The use of WITHIN might have done it. I understand the example, and I'm going to try it with my own data now. I'll post any additional questions next week.
The use of WITHIN works inside my reporting object and with my filter panel. Thank you so much, BabakNYC. I appreciate learning about WITHIN and its usage.
Thank you again, BabakNYC, for explaining WITHIN to me.
I have a different question somewhat related to this one.
My user is requesting one more feature be added to the reporting object-that of a report heading.
The report heading should display the filters chosen at any given time.
In a regular report fex, I have done this many times. So, I think the principle and theory should be the same here.
Here's my sample code
SET EMGSRV=OFF
SET MESSAGE = OFF
SET ERROROUT = OFF
SET WARNING = OFF
SET TRMOUT = OFF
SET MSG = OFF
SET ASNAMES = ON
SET HOLDATTR = ON
SET EMPTYREPORT = ON
-SET &STORE_HEAD = IF &STORE EQ '_FOC_NULL' THEN 'STORE=All' ELSE 'STORE=' | &STORE;
-SET ®ION_HEAD = IF ®ION EQ '_FOC_NULL' THEN 'REGION=All' ELSE 'REGION=' | ®ION;
-SET &MANAGER_HEAD = IF &MANAGER EQ '_FOC_NULL' THEN 'MANAGER=All' ELSE 'MANAGER=' | &MANAGER;
-SET &FOOTING_1 = &STORE_HEAD | ', ' | ®ION_HEAD | ', ' | &MANAGER_HEAD;
Then, I add the footing to the footing area inside the report. It works beautifully.
With my reporting object, I added similar code to the preprocessing section and the report section; however, then the reporting object ignores the -DEFAULTH commands in the report section and shows the panel on the left side of the screen. I did some additional research and learned that DEFAULT commands are ignored if -SET commands are used; so, I'm left with trying to devise the best way to accomplish my objective. I'd appreciate any guidance.This message has been edited. Last edited by: JulieA,
-SET supersedes -DEFAULT but I don’t see a -DEFAULT for your &STORE or &ION or &MANAGER. Your -SET commands depend on the default values of these variables but has to prompt you because there is no default values populated.
WebFOCUS 8206, Unix, Windows
Posts: 1853 | Location: New York City | Registered: December 30, 2015
Yes, I understand -SET supersedes -DEFAULT. You are correct my example does not include -DEFAULT or -DEFAULTH commands in it. My reporting object has the -DEFAULTH commands in it like this:
ENGINE INT CACHE SET ON SET PAGE-NUM=NOLEAD SET SQUEEZE=ON -DEFAULTH &WF_HTMLENCODE=OFF; SET HTMLENCODE=&WF_HTMLENCODE
SET HTMLCSS=ON -DEFAULTH &WF_EMPTYREPORT=ON; SET EMPTYREPORT=&WF_EMPTYREPORT