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.
Hi, The code below is an OLAP report. Without the IF statement,the OLAP report works. Retain the IF statement and the column sort on the OLAP report does not work.It gives out error messages saying 'Field or Computational element not recognized...'
How do I work around this?
Thanks.
-OLAP ON
-STEP_SQL ENGINE DB2 SET DEFAULT_CONNECTION XXX SQL DB2 PREPARE SQLOUT FOR SELECT col1,col2,col3 FROM Table WHERE col1 = 'ABC' ; END
TABLE FILE SQLOUT PRINT * ON TABLE HOLD AS HOLD1 END
Try putting a -RUN in front of the -IF &RECORDS statement. It is evaluating the -IF before the data is retrieved such that &RECORDS doesn't exist. BTW, you should probably use &LINES instead. That is a better variable to test if you want to know whether the request retrieved any records.
One of the problems is that OLAP doesn't know how to find your hold file. I think you'd have to have a permanent allocation and a filedef. Secondly, your hold master wouldn't have any dimensions or measures in it.
As I said before,if I replace the &LINES with a SET variable value, it works fine and can find my hold files without using any filedefs or APP HOLD. wondering how does it find the HOLD file in that case?
I tried doing the below but it didn't work. APP HOLD BASEAPP TABLE FILE HOLD ... ON TABLE HOLD... END APP HOLD
WF 7.1.1, WF Developer studio 7.1.1, Windows & Mainframe, HTML
I ran your CAR code above and I get a report. However, if I click on the OLAP control arrows, I get a file not found. Your basic design may be flawed as OLAP reruns the request when you do anything from the control. So you need to be running from some permanent file.
I don't understand why the -IF is not working. After the -RUN, do a -TYPE &LINES followed by a -EXIT. What do you get?
The APP HOLD is only going to tell WebFOCUS where you want to put the file. If you want to access it separately, you need to do an APP FI or FILEDEF. In fact, it might be better if you made your hold file a FOCUS file. The first time you create it, do an APP HOLD. Then edit the master and put a DATASET parameter in it. Then the next times you do it, change the APP HOLD to an APP HOLDDATA so it won't overwrite the master. And you won't need the app path if the directory of the file is in the global path.
When working with OLAP it is very important to remember that any request issued from the OLAP report only knows about what it has in the stack at the time of the initial output and that any hold files and associated masters disapear as soon as WebFOCUS returns the report (was always true but not neccessarily any more).
That means that anything that is flushed from the stack by a -RUN, DM command etc. such as DEFINES, JOINS are not in the code that is generated to drive the OLAP functionality, take a look using view source to see what I mean.
If you have a version of WebFOCUS that can use the server FOC Cache functionality then hold files are not an issue because the data and master should be available for your session (depends on settings for maxage, default 3hrs) but this is not available in 7.1x
The only alternative, is as suggested by Ginny of using APP HOLD. FORMAT FOCUS is best as you do not need the FILEDEF or APP FI statements.