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.
In my guided adhoc report I need to implement several drilldowns and other hyperlinks. The value driving each hyperlink is an unique id in the database. We don't want to show to the user that number, what we want to show is a text, which will say ex.Entity Details. If the ID column is not selected explicitly on the report, the hyperlinks don't work. For the regular reports we had a solution to have a define, with id column value placed as a noprint field, which was then passed as an parameter, when another field marked as hyperlink was selected. Example of previous solution:
DEFINE FILE VB_APP_SECURITY REG_ID/P11=J0.R5603_REG_STATUS_SUMMARY.REGISTRATION_ID; END TABLE FILE VB_APP_SECURITY SUM CNT.J0.R5603_REG_STATUS_SUMMARY.REG_STATUS_NAME AS '' BY J0.R5603_REG_STATUS_SUMMARY.REGISTRATION_CODE AS 'License Code' BY J0.R5603_REG_STATUS_SUMMARY.REG_ID NOPRINT BY J0.R5603_REG_STATUS_SUMMARY.REGISTRATION_ID NOPRINT
How can this be implemented in adhoc guided report? Is there a way to add another column with ID if column with hyperlink is selected, and remove if it is deselected?
Maybe there is a whole better approach to this problem.This message has been edited. Last edited by: ElizabethN,
I'm not sure I fully understand the limitation you're hitting. Is the issue that the end-user doesn't select the particular field you need to pass?
Have you considered putting the Defines directly into the master file? You can create an entire hyperlink field, focexec call and all (i.e., a full html specification of the WF call) that an end-user can include in any report they create.
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007
When talking guided ad hoc reporting, every time you need something "new" as you normally do in a DEFINE, create that DEFINE in the master file first then create your ad hoc. So, almost anything will become possible.
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
Yes, the first issue is that I don't want user to select entity ID directly.
But if I define the value of a hyperlink (or entity ID) as a define in a master file, and have a user directly select that field on the report, can I show some other text on the report and not defined value?
It's not fully functional, but it's just to direct you on a possible solution path:
DEFINE FILE CAR
DSPSEATS/A20V = DECODE SEATS (2 '2 Doors' 4 '4 Doors' ELSE 'HatchBack');
DSPBODY /A20V = DECODE BODYTYPE ('COUPE' 'Sports' 'ROADSTER' 'Sports' ELSE 'Berline');
DSPSAL /A20V = 'Registration Detail';
END
TABLE FILE CAR
PRINT DSPBODY AS 'BODYTYPE'
DSPSEATS AS 'SEATS'
RETAIL_COST
DEALER_COST
DSPSAL AS 'SALES'
SALES AS 'RECID'
BY COUNTRY
BY CAR
BY MODEL
ON TABLE HOLD AS TMP
END
-RUN
TABLE FILE TMP
PRINT &MULTIPRT.(AND(<Sales,SALES>,<Body Type,BODYTYPE>,<Seats,SEATS>,<Retail Cost,RETAIL_COST>,<Dealer Cost,DEALER_COST>)).Please select detail field(s).
BY &MULTIBY.(BY(<Country,COUNTRY>,<Car,CAR>,<Model,MODEL>)).Please select sort field(s).
BY RECID NOPRINT
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
TYPE=DATA,
COLUMN=SALES,
URL=http://www.google.com& ( \
PARM=RECID \
),
$
ENDSTYLE
END
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
You sure can. Make your Define create a string of text that's a hyperlink, like this --
DEFINE FILE X
LinkField/A400V = '<a href= . . . IBIF_EX= . . . >Click Here for Details</a>';
END
In normal FOCUS code you can send another field along as a parameter on a drill-down, as long as it appears in the Report syntax. Use a NOPRINT to hide it.
If need be you can create an entire call like the one above to do just about anything you want. I had a requirement to provide a Name and Phone Number for customers on a report that didn't appear when printed, only on the screen. I Defined a field in the Master File that put the name and number into the html alt-text of the field so users could hover over the account number to see the information. If your destination is html all of this is available.
J.
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007
I am trying another approach with use of javascript since I will be running my report from html page. I will have a separate selection box with only ID's which will be hidden. Some of the fields in the visible selection boxes will be hyperlinks (fields from defines). When the run is pressed I am going to check which of hyperlinked fields were selected and for each selected filed select ID field in a hidden selection box. That way I am going to avoid putting fields in reports syntax which were not chosen for display. I am planning on using:
IbComposer_setCurrentSelection
If anybody has some examples with javascript or where I can find more information about above method syntax I will be very grateful.
Seems to me that it doesn't matter what you do, the ID is potentially exposed. If someone does a view source, then it will be there somewhere otherwise you will not be able to use it in a drill down anywhere.
Why not create an alternate table with a unique list of the ID and a column containing a sequence number or random value. That way you can use that number for your reports in a define or whatever, but you remove the risk of exposing the ID.
"There is no limit to what you can achieve ... if you don’t care who gets the credit." Roger Abbott