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 a text file that basically lists a bunch of ID numbers that I'd like to place in an & variable in a program I'm writing. I know I can read a value into a variable using -READ, but at this time I'm only getting the first value. I'd like to use all of the values in my file. I have one ID number per line. How would I read in more than one value? This is what I have so far. In the documentation they only show one value being read in.
when using WHERE ... IN FILE syntax, you should try using IF ... EQ (ddname) syntax instead. Currently, the supported number of bytes for IF ... EQ (ddname) syntax is approximately 32K for FOCUS databases and relational files. In the case of WHERE ... IN FILE syntax, the limit is approximately 16,000 bytes.
As well, you may reach a limit when the FOCUS code is translated to SQL - I think there's a limit of 1000 values for a where statement in Oracle.
The NOCLOSE option ensures that, if you have FOCUS code (TABLE FILE etc.) within the loop, the progam does not get lost while READing the file. If you had FOCUS code within the loop without NOCLOSE, the program would always read the first row and you would get an endless loop.
I just wanted to clarify the need for the NOCLOSE. When doing a -READ on a file, the file will be closed when FOCUS executes the commands on the command stack or, in other words, when it encounters a -RUN or the end of a FOCEXEC. Having TABLE FILE in your request after a -READ does not cause FOCUS to close the file unless, of course, you have a -RUN after the TABLE FILE.
One of the old ways of getting around this issue of the file closing was simply to do a loop around the -READ and TABLE FILE code (without a -RUN in the loop) for each value/record read from the file, causing FOCUS to stack all the commands. When the loop had read all the values in the file, it would then drop out of the loop to a -RUN which would then cause FOCUS to run all the stacked TABLE FILE requests. Not pretty, but it worked. The NOCLOSE is a much better way of doing this.
Just wanted to give a little clarification on this issue.
Posts: 995 | Location: Gaithersburg, MD, USA | Registered: May 07, 2003