Path: utzoo!attcan!uunet!cs.utexas.edu!csd4.csd.uwm.edu!mailrus!ames!amdahl!rtech!squid!robf From: robf@squid.rtech.com (Robert Fair) Newsgroups: comp.databases Subject: Re: resuming to a new field in form. Message-ID: <3450@rtech.rtech.com> Date: 24 Aug 89 14:12:45 GMT References: <0Ywdlvy00WB7Q1l6BZ@andrew.cmu.edu> Sender: news@rtech.rtech.com Reply-To: robf@squid.UUCP (Robert Fair) Organization: Relational Technology, Inc. Lines: 43 >>From: bg0l+@andrew.cmu.edu (Bruce E. Golightly) > >Under Ingres V5, RESUME causes a RETRIEVE or SELECT loop to terminate. This is only true when you have a SELECT loop nested within a DISPLAY loop. Basically whenever you continue/terminate an outer loop from an inner loop the inner loop will normally get cleaned up as well (here the RESUME continues the DISPLAY loop, so the SELECT loop will be cleaned up). For applications where the logic is: for (each row in dataset) do display data on form edit data cleanup done the SELECT loop should be logically outside the form DISPLAY loop. This is no problem in ESQL/EQUEL, but conceptually caused difficulties in 5.0 ABF, where an "attached select" did a SELECT loop within the DISPLAY loop for the current form, and then displayed a submenu for the user for each row. This works fine for most cases, except for when you want to use RESUME in the submenu - in 5.0 submenus were not objects that you could RESUME on, so doing a RESUME inside the attached select put you back at the outer DISPLAY loop, and cleaned up the SELECT - all correct, but sometimes rather surprising for users ! This has been updated in INGRES R6 in two ways: - The functionality of submenus has been extended so that it is possible to RESUME in a submenu loop (i.e. a submenu is now a real {menu,form} combo rather than just a simple menu with the screen still displaying the form) For ABF this makes "attached selects" work the way Bruce wants them to, without any coding changes, while EQL has extra flexibility to work both ways. - An explicit SELECT loop has been added to both ABF and ESQL so you can directly control what happens for each data row - call a new frame, perform a calculation, etc. Robert Fair Technical Support Relational Technology, Inc