Re: Multiple screen forms in 4GL
Posted in 1997
Wookie wrote: > > Hi, > > We're currently using Informix 4GL version 4.0 (Standard Engine) > under SCO UNIX. The database is accessed by VT100 terminals. > > We have an application which necessarily has fairly big records > and we are *desparate* to be able to have 4GL forms go over multiple > screens (like they do in ISQL), so you can arrow down through the > fields and at the bottom field the screen flips over to the > rest of the fields. Then, when you've finished updating you can press > ESCAPE for the whole record to be updated in one block. It also > needs to work in the same way for queries and updates. > > So far, the only way I've found to do this is by splitting the fields > up into two forms, and updating each one separately. But this is > a MAJOR pain for the users of the application (who are not computer > literate), as it means they need to do two database updates and cannot > switch easily between the two forms. Things like queries and field > updates are more complex too. Also, if the form expands to go over > three screens, things get even more complicated. > > Does anyone know a way around this limitation? Is it fixed in later > versions? > > I know that we could consider switching to a Windows front-end with > ODBC which would get around the problem (using Access or something), > but this is not possible at present. > > Thanks for any suggestions! > > Wookie Wookie, If you have your input structure in a GLOBALs file, your INPUT section is the only thing you really need to split up. Set up your record structures GLOBALly, and split up your INPUT statements across your screens. Set up a screen manager set of functions to manage the user going from screen to screen. You could do this with a hot key, and loop the screens. Also can be done via a MENU. Set up the actual update as a menu choice when the inputting is done, and then you have only one update. ( If it was easy anybody could do it, but it's not impossible, just the tedium to do it. ) By keeping your INPUT structure GLOBAL, you allow access to all the variables everywhere: globals ... record --+ a | b | c |------------screen 1 d |------------screen 2 e |------------screen 3 f |------------screen 4 g | ... end record --+ ... end globals If you want to see how I do this with a code generator, download bas_4gl1 and generate some 4GL with it. ( There are a few other little c programs you need for it, but these compile easily, and make it all work. ) I'd swear 4GL could almost replace COBOL, but then again that would eliminate all that Y2K work. :-) -- Tim Schaefer \\\\|// tschaefe@mindspring.com (6 6) ------------------------oOOo---( )---o00o--------- http://www.inxutil.com