Re: Wrong Screen
Posted in 1993
>From: uunet!ditto.att.com!brehr!starr >Date: Thu Jan 14 8:54:26 EST 1993 >Subject: Wrong Screen >X-Informix-List-Id: <list.1788> >We are running INFORMIX-SQL Version 4.00.UG1 on a 3B2. We have a form that >opens several tables, and displays several screens. >Yesterday, I added two fields to screen #3. After this change, whenever a >user, after querying on the first screen, presses "D" for detail, the process >jumps to the third screen. >After hacking for awhile, we found that by removing two display-only fields, >the process would run normally (that is, "D" would stay on the first screen). >My only guess is that we might have hit a magic number of fields on that >screen (37), and by reducing it back down to 35, it worked as it should. >We also found that we could leave 37 fields on screen #3, but increase the >number of fields on screen #1 to cause the process to stay on screen #1. Thank you for including the version info -- it makes life so much easier, even when, as in this case, it does not matter. The algorithms inside PERFORM are somewhat complex, but roughly what happens is that when you use D to change to a detail table, the current screen is changed, if necessary, to the screen containing the most fields from the detail table. Adding the two fields to screen 3 tipped the balance in favour of screen 3 over screen 1. I'm not sure why the displayonly fields affected this calculation -- unless they were lookup fields joining from detail table columns, perhaps, but I'm fishing in the dark (and not catching anything!) Yours, Jonathan Leffler (johnl@obelix.informix.com) #include <disclaimer.h>