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 program that uses FIXFORM to read a flat file into the SPA. Within the same program the user then scrolls through and selects a record they want to update by entering an "S" against one of the records displayed. User is then presented with a screenful of data regarding that record allowing user to update or cancel the input. User is then taken back to the first page of the same SPA but now the "S" is still being displayed against the record the user just chose. How can I clear this value?
Normally I would be reading a Focus database and could just repopulate the SPA again but I cant do that because Im reading from a flat file within the same .FEX and can only read the file once.
Any ideas how to clear the selection field of the record the user has just chosen?
special-K, buy me a vowel...what is an SPA? In your 'screenful of data', where you allow the user to UPDATE or CANCEL, the UPDATE would call the modify routine, and then rerun the initial page, yes? so therefore, the CANCEL routine would have to do exactly the same thing except bypass the modify routine, and just rerun the inital page. Does that make sense? I have a similar usage...i have a pop up window that allows the user to enter some changes, but also requires the proper password. if the password isn't correct, the window closes and the original report re-runs, unchanged.
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003
SPA or Scratch Pad Area is a sort of cache that is used internally within MODIFY and is generally tied up with CRTFORM, GETHOLD, HOLDINDEX etc.
As Rick says, it is a while since many of us have used MODIFY to this extent so if there is a solution within IB it is likely to come from some of the more experienced people such as Ben, Art, Noreen. So, imho, it would be best to raise a inforesponse case for this.
T
In FOCUS since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2
WebFOCUS App Studio 8.2.06 standalone on Windows 10
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004
You should not have to relaod the spa unless your looking to get updated values. Can you post the case where you are trying to reset the 'S' to a blank? You should be able to loop throught the spa and use a gethold to retrieve the record. Then compute the indicator from 'S' to blank. Then HOLD the record back into the spa.
"There is no limit to what you can achieve ... if you don’t care who gets the credit." Roger Abbott
I'm not a modify guru but I did not know modify could even update a flat file. I thought it would only be able to update databases (vsam, focus,db2,ims,etc). Is that what is being attempted here?
FOCUS 7.6 MVS PDF,HTML,EXCEL
Posts: 115 | Location: Chicago, IL | Registered: May 28, 2004
If SEL/A1 is the selector column, and ROW/I5 is the selected row:
-* copy all SPA columns to their vars COMPUTE HOLDINDEX = ROW; GETHOLD -* revise value, restore position, refresh the row COMPUTE SEL=' '; HOLDINDEX = ROW; HOLD SEL
Posts: 1925 | Location: NYC | In FOCUS since 1983 | Registered: January 11, 2005