Focal Point
SPA problem

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/6021015651

February 28, 2006, 10:50 AM
<Special-K>
SPA problem
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?
February 28, 2006, 11:52 AM
<RickW>
It's been quite awhile since I've done MODIFYs but my guess would be to just recompute the selection field = ' ' after the update.
February 28, 2006, 11:59 AM
<Special-K>
Have tried that but it's not working. My manager and I are in agreement it cant be done wihtout repopulating the SPA.

Thanks anyway
February 28, 2006, 06:47 PM
susannah
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
March 01, 2006, 03:23 AM
Tony A
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 
March 01, 2006, 03:29 AM
Tony A
Special-K (Slimmer?),

You do not state what release or platform you are using but the alternative is to migrate to MAINTAIN for your process.

Have a look at this link for some hints.

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 
March 01, 2006, 12:10 PM
dhagen
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
March 01, 2006, 03:33 PM
ET
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
March 02, 2006, 04:58 AM
<Special-K>
I've come to the conclusion it isnt possible to clear the selection field and am quite happy to close this problem.
March 02, 2006, 08:33 AM
zipper
If your still interested, it can be done.
Call be at 248-318-0205 cell and I can help you out. (mark). It depends on how it's coded.


WebFocus 7.7.03, Report Caster / Library, Windows 2008 R2 Databases: Oracle 11.x and DB2 8.x
March 02, 2006, 09:32 AM
j.gross
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