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 have got a requirement where in I need to retrieve only current year's data from a table which is having morethan 15 years of data.
When I just query that table, it takes a very long(15 mins and above) to run and finally timesout.
May I know if it is possible to just have current year's data in a temporary table and keep refreshing it on a regular basis and use that file to query current year's data rather than hitting the entire table's data?
Appreciate any assistance.
Thanks Teju
Product & Release: WebFOCUS 7.7.03 Op. Sys: Linux for x64 64 bit O/P formats: HTML & PDF
have your dba's create you a materialized view of current year, and perhaps prior year, and refresh it ever night. let them worry about it. or ... APP HOLD myapp TABLE FILE yourfile IF YEAR IS &DATEYY PRINT fields BY datefield ON TABLE HOLD AS thisyear FORMAT FOCUS INDEX DATEFIELD END APP HOLD .. and put this job into report caster and run it every night. Where are you located?
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003
yes. you can create a report caster schedule to load the current year data from the master table in to a webfocus temporary table on daily basis and use the temporary table in your report.
First, isn't WHERE usually recommended over IF for selection? Second, I have found that constructing a WHERE clause using the date format matching the table's date format greatly increases the chance that the selection is done on the data server (SQL in our case) rather than inside of Focus. The data server tends to be more effiricient at this. Third, we have found that sometimes the statistics on the table need to be regenerated more frequesntly. This is a DBA task that makes the indexes work better.
WebFOCUS 7.7.05 (Someday 8) Windows 7, All Outputs In Focus since 1983.
Since I am using the IDMS tables for reporting, is it that my IDMS admin would be able to help me out in creating materialized view of current year in IDMS?
Since I have never used APP HOLD myapp before, I would like to know what should "myapp" refer to in "APP HOLD myapp"? Or is it just a Keyword?
Thanks in advance Teju
Product & Release: WebFOCUS 7.7.03 Op. Sys: Linux for x64 64 bit O/P formats: HTML & PDF
Do you mean to suggest the same solution as Susannah mentioned above? Or do you mean to say that I just create a HOLD file with current year's data and schedule it in Report Caster on a daily basis? If yes, willn't the schedule take a long time to run and affect the server's performance?
If none of the above is not what you mean, can you please detail.
Thanks in advance Teju
Product & Release: WebFOCUS 7.7.03 Op. Sys: Linux for x64 64 bit O/P formats: HTML & PDF
I am using the IDMS tables for reporting and they were already created years ago and they are not indexed.
When I asked the IDMS admin to add the indices to the already existing tables, he said that creating indicies on already existing tables cannot be done and will impact the already existing reports.
In short, the IDMS admin is not ready to create indices in already existing masters.
If possible, please advice me some alternate way which doesnt involve admin.
Thanks Teju
Thanks Teju
Product & Release: WebFOCUS 7.7.03 Op. Sys: Linux for x64 64 bit O/P formats: HTML & PDF
APP HOLD resets the hold directory to your agent APP HOLD someapp sets the hold directory to your app. but you want to turn that off as soon as your file and its master have been parked in your app; that's what the APP HOLD command does...turns it off.
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003
I just happened to run the schedule and after 3 hours of running, it gave the below message in email format
BTP1010 Schedule Executed Due To NEXTRUNTIME at cob-wfocusp-01.wssc.ad.root:8200 BTP1020 Starting task: billspassthru BTP1020 Task type: MR Standard Report BTP1020 Task domain: wsscprod/wsscprod.htm BTP1020 Retrieving MR report: app/passthru BTP1020 Connecting to server WSSCPROD with execution id webfocp BTP1020 Executing focexec. BTP1020 No report to create. BTP1020 OUTPUT FILE NOT ALLOCATED: ACCVAL BTP1020 Task finished. BTP1010 No report to distribute.
The code I have used in my fex file is as follows:
APP HOLD MMIS DEFINE FILE CSBILLCH TYPEBILL/A1=EDIT(I2586_BILL_TYPE_CODE,'9$$'); BILL/A3=DECODE TYPEBILL(1 'ACT' 2 'EST' 3 'CUS' 4 'ADJ' 5 'PAY' 6 'IDC' 7 'MIS' 8 'REF' 9 'FRS'); YY/A2 = EDIT(I2582_BILL_GEN_DATE,'99$$$$'); MM/A2 = EDIT(I2582_BILL_GEN_DATE,'$$99$$'); NY/I3 = EDIT(YY); NM/I3 = EDIT(MM); CRAPFY/I3 = IF NM GE 07 THEN NY + 1 ELSE NY; FY/A2 = EDIT(CRAPFY,'$99'); END TABLE FILE CSBILLCH COUNT I2511_CODE_ID_CSACCT/I9 AS 'ACCT1' BY FY BY MM BY I2582_BILL_GEN_DATE IF I2586_BILL_TYPE_CODE NE 5$$ -*ACROSS BILL AS '' IF FY EQ 14 ON TABLE SET ASNAMES ON ON TABLE HOLD AS ACCVAL FORMAT FOCUS INDEX I2582_BILL_GEN_DATE END
APP HOLD
Please advice on what's wrong with my code.
Thanks Teju
Product & Release: WebFOCUS 7.7.03 Op. Sys: Linux for x64 64 bit O/P formats: HTML & PDF
I think it is good to know how your TABLE-request is translated to SQL. With all the EDIT's in the DEFINE I wonder if this will be translated to efficient SQL.
Put these statements just before your TABLE request. The request will not be executed; just a SQL-statement will be generated.
SET TRACEOFF = ALL SET TRACEUSER = ON SET TRACEWRAP = 132 SET TRACEON = STMTRACE//CLIENT SET TRACEON = SQLAGGR//CLIENT SET TRACESTAMP = OFF SET XRETRIEVAL = OFF
Then I will use IF more than WHERE going forward. I trust the experts from FocalPoint more than the documentation. The documentation that says (note the Tip): Release 7.7.03 > Reporting Language > Creating Reports With WebFOCUS Language > Selecting Records for Your Report Selecting Records Using IF Phrases How to: Select Records Using the IF Phrase
The IF phrase selects records to be included in a report, and offers a subset of the functionality of WHERE. For a list of supported IF operators, see Using Operators in Record Selection Tests.
Tip: Unless you specifically require IF syntax (for example, to support legacy applications), we recommend using WHERE.
WebFOCUS 7.7.05 (Someday 8) Windows 7, All Outputs In Focus since 1983.
and we would recommend just the opposite. IF works when comparing a field to a constant WHERE is needed for anything more complicated eg field to field, field to expression, testing against computed field values, etc
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003
The RC job ran well but when I queried the hold file ACCVAL as below, I got the error message
0 ERROR AT OR NEAR LINE 8 IN PROCEDURE ADHOCRQ FOCEXEC * (FOC036) NO DATA FOUND FOR THE FOCUS FILE NAMED: ACCVAL
TABLE FILE ACCVAL PRINT * WHERE RECORDLIMIT EQ 10 END -EXIT
I see the accval.mas file created with SUFFIX=XFOC. But I would like the master file to be created with the SUFFIX=IDMSR. Please let me know how to go about it?
Thanks in advance
Teju
Product & Release: WebFOCUS 7.7.03 Op. Sys: Linux for x64 64 bit O/P formats: HTML & PDF
I have already tried turning trace on 2 months back and was warned by my admin not to use it any more because it consumes lot of memory and is hitting the performance of the server.
But turning traces on do help a lot.
Thanks Teju
Product & Release: WebFOCUS 7.7.03 Op. Sys: Linux for x64 64 bit O/P formats: HTML & PDF
You will definitely want to use tracing from time to time. However you will want to only turn it on as you are using it. There is a lot of data that can accumulate over time when tracing is on. You can also clean up the trace files after you get what you need.
WebFOCUS 7.7.03/8.0.08 Dev Studio 7.7.03/8.0.08 App Studio 8.0.08 Windows 7 ALL Outputs
Posts: 402 | Location: Upland, IN | Registered: June 08, 2012
Sheesh... All those years I was using IF and then I took some WF courses from IBI and they recommended WHERE except in defines and computes.... grrrrrrrrrrr