Re: SCCS Source Control of Informix Screen Forms -- Please Help
Posted in 1996
Frank, You do not indicate whether you are using I4GL or ISQL, but there is a solution which (more or less) works for both. It also isn't clear whether the screen display needs to contain the information or whether it simply has to be embedded in the .frm file. Assuming that the info only has to be embedded in the .frm file, then the use of the DEFAULT or COMMENTS clause is the best way to get the info into the form. But there is a trick you can use which doesn't require a dummy field, exemplified by: DATABASE SomeDataBase SCREEN { Critical Field [f000 ] } END TABLES SomeTable OtherTable ATTRIBUTES f000 = SomeTable.ColumnName; = OtherTable.AltColName, DEFAULT = "@(#)SCCS ID here!"; END What I've done is make the field tag f000 apply to two separate screen records (in I4GL; tables in ISQL), with different attributes for the two. Provided you never do input from OtherTable.AltColName, this will not affect the working of your form, though the information is embedded in your .frm file. In ISQL, the OtherTable will show up in the list of tables (using the Table option), so this isn't perfect for ISQL, but it works quite nicely in I4GL. The only snag I found was that you don't seem to be able to use the pseudo-table FORMONLY for the joined field. Also, I got warnings from form4gl when I used SysTables.TabName and SysColumns.ColName because they aren't indexed even though they are joined. Consequently, a little care is required in choosing the fields to match up, but there will be few forms for which an appropriate pair of columns cannot be found. If you want the version number visible on the screen, I would submit that you do not also want the @(#) symbol present too, so you simply place %I% at some convenient location in the screen layout (to the right of any fields on the same line). And make sure you use the 'admin -fi%I%' option on the form file to insist that the %I% ID keyword is present; you might consider using %R%.%B% explicitly and specifying that in the -fi option because you do not want to get a fossilized SCCS ID string on your form. (See most of the Informix libraries for examples of what you should not do -- any mention of grizzly is years out of date!) Yours, Jonathan Leffler (johnl@informix.com) #include <disclaimer.h> >From: frank660@aol.com (Frank660) >Date: 27 Jun 1996 20:43:26 -0400 >X-Informix-List-Id: <news.25514> > >I have an interesting question for y'all. What is the best way to include >SCCS information in an Informix screen form? > >In order to be able for the UNIX "what" command to get the information, it >has to be part of the executable screen form. That leaves out source >comments. The one way that I know will work is to add an extra NOENTRY >field and set the DEFAULT value to the "what string" (e.g. DEFAULT = "(@) >%M% %H% %G% %U% %I% %T%" -- or something like that). The problem is that >if the user wants the screen fields to have visible delimiters, they see >the dummy field. Also, some screens don't have much extra room without >the addition of an extra screen field. > >I'd rather not have the version information visible but it might be >preferable to have a simple version number visible than to have a empty >field on the screen. The users' don't like the empty field much.