How to handle warnings in QUICK
David Morrison - Corporate
dmorrison@mcbrideelectric.com
Thu, 19 Feb 2004 13:15:42 -0800
This is a multi-part message in MIME format.
------_=_NextPart_001_01C3F72D.884F0807
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hello, all
I'd like to get some input on what techniques you have developed for =
handling warnings in QUICK.
Generally speaking, a warning message should be displayed only if there =
are no errors, and it would be displayed only once. But what if, after =
displaying an error and/or warning, the user changes the data in other =
fields; under some conditions the warning should be re-displayed, right? =
How do you handle that? We resort to setting a flag if the warning =
condition is met, but I haven't gone to the trouble of re-setting the =
flag if an important field that affects the warning is changed.
PROCEDURE EDIT a_field
BEGIN
IF a_field =3D "Y" AND t_warning_flag =3D "N"
THEN BEGIN
LET t_warning_flag =3D "Y"
WARNING "WARNING: a field =3D Y" NOW
END
END
PROCEDURE INPUT important_field
BEGIN
LET t_warning_flag =3D "N"
END
Secondly, how do you like to handle warning conditions based on multiple =
input fields? I prefer to use the EDIT subroutine for a SILENT field, =
rather than PREUPDATE, but neither one works entirely satisfactorily. =
We've had cases where the warning message has superseded an error =
message!
Thanks in advance for your feedback.
David Morrison
McBride Electric
------_=_NextPart_001_01C3F72D.884F0807
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.0.6249.1">
<TITLE>How to handle warnings in QUICK</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">Hello, all</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">I’d like to get some input on w</FONT></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">hat =
techniques you</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">have</FONT></SPAN><SPAN =
LANG=3D"en-us"> <FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">developed</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">for handling warnings in =
QUICK</FONT></SPAN><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">.</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">Generally speaking,</FONT></SPAN><SPAN LANG=3D"en-us"> =
<FONT COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">a warning =
message</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#000000" =
SIZE=3D2 FACE=3D"Arial">should be</FONT></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial"> =
displayed only if there are no errors</FONT></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">, and =
it</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">would be</FONT></SPAN><SPAN LANG=3D"en-us"><FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial"> displayed only once. =
But what if, after displaying an error and/or warning, the user changes =
the data</FONT></SPAN><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" =
SIZE=3D2 FACE=3D"Arial"> in other fields; u</FONT></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">nder some =
conditions</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#000000" =
SIZE=3D2 FACE=3D"Arial">the warning</FONT></SPAN><SPAN LANG=3D"en-us"> =
<FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">should</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">be =
re-displayed</FONT></SPAN><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" =
SIZE=3D2 FACE=3D"Arial">, right</FONT></SPAN><SPAN LANG=3D"en-us"><FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">?</FONT></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial"> =
How do you handle that? We resort to setting a flag if the warning =
condition is met, but I haven’t gone to the trouble of re-setting =
the flag if</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#000000" =
SIZE=3D2 FACE=3D"Arial">an important field that affects the warning is =
changed.</FONT></SPAN></P>
<BR>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">PROCEDURE EDIT a_field</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">BEGIN</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">IF</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">a_field =3D =
“Y”</FONT></SPAN><SPAN LANG=3D"en-us"><FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial"> AND t_warning_flag =3D =
“N”</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">THEN BEGIN</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial"> </FONT></S=
PAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial"> </FONT></S=
PAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">LET t_warning</FONT></SPAN><SPAN LANG=3D"en-us"><FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">_flag =3D =
“Y”</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial"> =
WARNING</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#000000" =
SIZE=3D2 FACE=3D"Arial"></FONT></SPAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">“WARNING:</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">a field =3D =
Y”</FONT></SPAN><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" =
SIZE=3D2 FACE=3D"Arial"></FONT></SPAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial"></FONT></SPAN><SPAN =
LANG=3D"en-us"> <FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">NOW</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">END</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">END</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">PROCEDURE INPUT important_field</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">BEGIN</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN =
LANG=3D"en-us"> <FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">LET t_warning_flag =3D =
“N”</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">END</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN></P>
<BR>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">Secondly, how do you</FONT></SPAN><SPAN LANG=3D"en-us"> =
<FONT COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">like =
to</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">handle warning conditions based on =
multiple</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#000000" =
SIZE=3D2 FACE=3D"Arial">input</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">fields? =
I</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">prefer</FONT></SPAN><SPAN LANG=3D"en-us"><FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial"> to use</FONT></SPAN><SPAN =
LANG=3D"en-us"> <FONT COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">the EDIT =
subroutine for a</FONT></SPAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">SILENT =
field</FONT></SPAN><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">, rather than PREUPDATE, but neither one works entirely =
satisfactorily. </FONT></SPAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial"> We’ve had cases where =
the warning message has superseded an error message</FONT></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">!</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">Thanks</FONT></SPAN><SPAN LANG=3D"en-us"><FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial"> in advance for your =
feedback</FONT></SPAN><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000000" =
SIZE=3D2 FACE=3D"Arial">.</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en"><FONT =
COLOR=3D"#000000" SIZE=3D2 FACE=3D"Arial">David =
Morrison</FONT></SPAN></P>
<P ALIGN=3DLEFT><SPAN LANG=3D"en"><FONT COLOR=3D"#000000" SIZE=3D2 =
FACE=3D"Arial">McBride Electric</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>
</BODY>
</HTML>
------_=_NextPart_001_01C3F72D.884F0807--