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 think JG explained it nicely. IN essence, if you haven't got a reason NOT to use then, then use it as a standard practice.
Here's what I go by - if there's only a single table request in the fex - no reason to use it. If there are subsequent TABLE commands the include additional joins, I always use it (unless, of course, in those circumstances where I want it to remain in effect and NOT cleared.)
Regards,
Darin
In FOCUS since 1991 WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex WF Client: 77 on Linux w/Tomcat
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007
Another reason why mainframe Focexecs have JOIN CLEAR * in them is because a JOIN stays in effect for the duration of the session. In case of Mainframe focexecs, very often it is in an online environment, where several Focexecs are run one after the other in the same session. At least that was the reason I got into the habit of coding JOIN CLEAR * at the very least before the first JOIN in a focexec. That way, I know I do not have an old join from a previously run Focexec potentially messing up my current Focexec.
Diptesh WF 7.1.7 - AIX, MVS
Posts: 79 | Location: Warren, NJ, USA | Registered: October 25, 2006
Whoever told you the JOIN CLEAR * is not necessary is mistaken. There are situations, like a single table request where it is not needed, but it is required in the following:
JOIN FIELDA1 IN FILEA TO FIELDB1 IN FILEB
TABLE FILE FILEA
PRINT FIELDB2
BY KEYA
ON TABLE HOLD
END
MODIFY FILE FILEA
...
END
If you don't use one after the TABLE request, the MODIFY will fail.
There are also efficiencies to take into account. JOINs, FILEDEFs and DEFINEs use memory. When I am done with them, I always clear JOINs, FILEDEFs and DEFINEs. It is a habit I picked up back in the old PC FOCUS under MS/DOS days where a program may not run if these items were not cleared.
In FOCUS since 1985. Prod WF 8.0.08 (z90/Suse Linux) DB (Oracle 11g), Self Serv, Report Caster, WebServer Intel/Linux.
Posts: 975 | Location: Oklahoma City | Registered: October 27, 2006