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.
New TIBCO Community Coming Soon
In early summer, TIBCO plans to launch a new community—with a new user experience, enhanced search, and expanded capabilities for member engagement with answers and discussions! In advance of that, the current myibi community will be retired on April 30. We will continue to provide updates here on both the retirement of myibi and the new community launch.
What You Need to Know about Our New Community
We value the wealth of knowledge and engagement shared by community members and hope the new community will continue cultivating networking, knowledge sharing, and discussion.
During the transition period, from April 20th until the new community is launched this summer, myibi users should access the TIBCO WebFOCUS page to engage.
AFI, or Shadowing, is a means of working with FOCUS databases that will ensure that the data in the file is always correct (not content but the integrity of the file). You activate it by first setting the shadow on (SET SHADOW=ON) and then create the focus database (CREATE FILE). As of that moment the contents of the database is mirrored. Changes will be made to one part of the database, while requests for data collect it from the unchanged part. Only after a commit (or when the modify/maintain ends) the switch will be made to the changed instance of the database. This will also have an effect on the maximum size of the databsae, since the mirror is placed within the same file. So the file will be doubled in size as opposed to the same file without AFI. AFI is also supported by the FDS.
Hope this helps a bit ...
- Using AS 8.2.01 on Windows 10 - IE11.
in Focus since 1988
Posts: 1961 | Location: Netherlands | Registered: September 25, 2007
Thanks for adding a few bits to what little I know.
I am surprised, and disappointed that I can find so little info on this feature with a search of IBI's site I would think that something would appear in some documentation ?? And, if I don't see much, are many others using it ?
I am still uneasy with my lack of understanding;
What is the interaction of AFI, SU, and SET COMMIT=ON ???
I have also heard of problems with Maintain locking out Modify procedures in this environment.
My recollection is that details of the scheme (to achieve "absolute file integerity" without page- or record-locks) were published in the System Journal. Then someone circulated a counter-example. That may explain why the details of the scheme are no longer posted.
Posts: 1925 | Location: NYC | In FOCUS since 1983 | Registered: January 11, 2005
AFI started with FOCUS on VM which provided this feature automatically for single FOCUS files. From there it was ported to MVS where it was implemented.
At that time the COMMIT and ROLLBACK commands of MODIFY did not exist. When it became apparent, that it was necessary to support complex transactions, COMMIT and ROLLBACK were implemented and for that to work, it was necessary to have the SET SHADOW option and double the size of FOCUS files.
Today, you have the 3 options: SET SHADOW=OFF => no shadowing, no AFI SET SHADOW=OLD => AFI, no shadowing SET SHADOW=ON => shadowing, full commit/rollback support
I hope this clarifies.
Daniel In Focus since 1982 wf 8.202M/Win10/IIS/SSA - WrapApp Front End for WF
Posts: 1980 | Location: Tel Aviv, Israel | Registered: March 23, 2006
While I still find this subject too 'shadowy' I'm closing this thread, because I am confident enough that we can eliminate AFI from our new Windows WF 7.6 server, by avoiding the SET SHADOW parm.
We have SET COMMIT=ON in edasprof to enable SU, but find that we have to SET COMMIT=OFF before any MODIFYs (of which we have many) to avoid an error pointing to AFI.
I got this info from Mark Derwin:
"I am pretty sure that the reason you are not finding much on this is that it is not needed on the Windows platform. My research is showing this was more on a Mainframe thing.
When using Maintain and SU, we state that you MUST have SET COMMIT=ON. This is less for the Commit / Rollback (although I am sure that is there as well) and more for certain code that Maintain needed. When Maintain was dealing with Unique segments and combined structures, it was different than the old Modify code. So, the SET COMMIT=ON took care of this.
I do not believe that you need to SET SHADOW=ON for Maintain and SU. Just set commit=on and you should be fine."