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 developed a self-serve report that creates multiple hold files. In order to make the hold files unique, we developers append the &FOCCPU parameter at the beginning of our hold file names so that the CPU time becomes part of the hold file name. Unfortunately one of our users ran a customer report in deferred status, and right after that submitted the same report for a different customer. The result was that she got the same data on both reports, although the report was run for two different customers. I had the user submit the report again, but this time I told her to run the first customer report and make sure it completes successfully before running the next customer report. The reports ran correctly. Evidently because the reports ran in deferred status at the same time, the same hold files were read for both reports. Does anyone know of a way where the users can run the same report simultaneously for different customers and not have this hold file issue?This message has been edited. Last edited by: Michele Brooks,
I would throw a random number generator into this to better guarantee the uniqueness of the name. JavaScript has a super-easy one you could pass as a parameter to the call, and the chance of a collision like this happening with it would be infinitesimally small. It returns 17 digit random real numbers between zero and 1.
var random = Math.random();
random comes into your focexec looking like this -- 0.05237350802380758
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007
Thank you both Francis and John. Francis' suggestion will work easily for our Self-Serve app because we already have a parameter for customer number that I can add to the hold file names. Each customer has a unique number. No two customers have the same number. On the other hand, John your suggestion can probably work for our Report Caster reports. Although the customer numbers are still unique, there are about 8 different parameters that we use in our reports for customer code, not just one as is the case for Self-Serve reports. How do I incorporate JavaScript into a fex? I would like to experiment with it. Thank you both so much. Focal Point is awesome.
If you're using WebFOCUS to determine the HOLD file name, use this to generate a random number and use it the -SET statement where you build the file name:
SET &RNDM1 = RDNORM('D7') * 1000000;
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
P.S. Thanks again for that awesome suggestion about the customer number. It appears to be working perfectly. I asked one of our users to also test it out.
I put random numbers on darn near everything. They keep IE from caching, which is invaluable during R&D. It's a solid hedge in production as well. It's a very rare reporting app where you want to look at old versions of the same page.
I want my browser to have a checkbox labeled "Never cache anything ever ever ever ever ever" next to it. Haven't found one that has that yet.
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007
speaking as a 77 developer, not 8, curious why you are parking your hold files outside of each agent? do they take so long to generate that you feel compelled to make them permanent rather than just let them die with the user's agent? Where are you holding them and how/when do you nuke them?
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003
Susannah, I am not building permanent hold files. I'm just assigning each file a unique name so that if the same report is run simultaneously for different customers, the correct hold file will be read. Once the report completes, the hold files are no longer available.
Michelle, in that case, susannah is right - you shouldn't have to - each report is run in a different server agent - simultaneous executions will never accidentally use the same HOLD file - each is created in their own temporary space. The only time there are collisions (as you've experienced) is if the files are directed to a named folder and the names are the same. If you don't use the technique you're using, you should be safe. Unless w're missing something...
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
Francis, I'll discuss with my co-worker as to why we're holding files in this manner. I know we have been experiencing problems with overlapping data when schedules are run for the same report in ReportCaster. My co-worker would know about this. I'll get back to you on Monday when he comes back from vacation. Thanks for the input.
Francis, I do have my hold files going to a named folder and that's probably why the data collided. I am going to take out the folder name to avoid this problem. Thank you for the feedback.
Susannah, the only time we use permanent hold files is when the reports are complex compound PDF reports with graph and charts, etc. Some use MATCH and MERGE, and there are others using the APPEND function. These need to be FILEDEF’d hold files. Thanks so much for your response.
you probably have an APP HOLD someapp command in there, which is forcing everybody's hold files to the same directory called someapp. you don't wanna do that. run the job, and while its running, navigate to the server using windows explorer, and look into the edatemp directory where the job is running, and you can see your files getting created, then when the job is done, the edatemp directory empties out all by itself. if you want help on how to do that, holler.
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003