I may be completely wrong but I thought that GOTOs in SWITCH statements were 
something to be avoided. Maybe it's that which is not working?

Regards,
Alastair.

  ----- Original Message ----- 
  From: Stuart Cohen 
  To: RBASE-L Mailing List 
  Sent: Friday, January 18, 2008 8:01 PM
  Subject: [RBASE-L] - Two eyes are not good enough


  Below is some code from an EEP in my application.  The IF statement in line 
39 does not seem to be evaluating correctly.  When I TRACE the code, the 
following happens.

  In line 27, vFCC_Choice is SET to NULL.  The TRACE window demonstrates this.  
The vUserSecurityLevel is SET to 15 and the IF statement in line 31 is 
evaluated properly.  In line 33 two variables are set using a form, 
Hospital_Choice2.  The first variable,vHosp_Choice2, is set by this form to the 
TEXT values of '1', '2' or '3'.  If the user fails to set this variable, the 
variable value remains NULL.  The TRACE demonstrates this and the SWITCH Block 
starting in line 34 evaluates properly. Should the value of vHosp_Choice2 be 
assigned the value of '2', a variable lookup combobox appears in the form, 
Hospital_Choice2, allowing the user to give a value to vFCC_Choice.  If the 
user fails to assign a value to vFCC_Choice and presses the OK button in form, 
Hospital_Choice2, the value of the variable, vFCC_Choice, should remain NULL as 
assigned in line 27.  The TRACE demonstrates that vFCC_Choice has no value (is 
still assigned the NULL value) coming out of the form, Hospital_Choice2, and 
continues to have no value up to line 39.  At this point the IF statement is 
not evaluated correctly and the TRACE jumps to the ELSE block in line 43.  Even 
at this point the value of vFCC_Choice is still NULL.

  Does anybody see what I am doing wrong?


  Thank you,

  Stuart J. Cohen, Ph.D.
  Major, Medical Service Corps
  Research Specialist
  Walter Reed Army Medical Center
  National Disaster Medical System Federal Coordinating Center
  Phone: 202-782-3636
  Cell: 301-514-3975
  Fax: 202-782-4360
  E-mail: [EMAIL PROTECTED]






  -------------------Code---------------------------------------------

  01     PROPERTY RBASE_FORM WINDOW_STATE 'MINIMIZED'
  02     CLEAR VAR vCaption, vHospital, vHospital_Code_POC,vMode, 
vHosp_POC_LastName, vHosp_POC_FN, vHosp_POC_MI, vEndKey
  03     SET ERROR MESSAGE 2038 OFF
  04     DROP TABLE tSelectedValues
  05     SET ERROR MESSAGE 2038 ON
  06     CREATE TEMPORARY TABLE `tSelectedValues` +
  07        (`HOSP_POC_ID ` INTEGER, +
  08        `Hosp_POC_LastName ` TEXT (30), +
  09        `Hosp_POC_FirstName ` TEXT (30), +
  10        `Hosp_POC_MI ` TEXT (2), +
  11        `Hosp_POC_email` TEXT  (80),+
  12        `Hosp_POC_Group` TEXT  (35),+
  13        `Hospital_Code ` TEXT  (15), +
  14        `Hospital ` TEXT (50), +
  15        `Hosp_City` TEXT (20), +
  16        `Hosp_State` TEXT (8), +
  17       `FCC_Code` TEXT (8), +
  18      `Service` TEXT (10))
  19     SET VAR vHOSP_POC_ID INTEGER = NULL
  20     SET VAR vSelectedPOCID INTEGER = NULL
  21     SET VAR vHospital TEXT = NULL
  22     SET VAR vHospital_code_POC Text = NULL
  23     SET VAR vMode TEXT = NULL
  24     SET VAR vEndKey TEXT = NULL
  25     SET VAR vWhere TEXT = NULL
  26     SET VAR vWhere_Choice TEXT = NULL
  27     SET VAR vFCC_Choice TEXT = NULL
  28     SET VAR vState_Init TEXT = NULL
  29     SET VAR vHosp_Choice2 TEXT = NULL
  30     SET VAR vMode = 'ViewAll'
  31     IF vUserSecurityLevel >= 13 THEN
  32          SET VAR vWhere_Choice = NULL
  33          EDIT USING Hospital_Choice2
  34          SWITCH (.vHosp_Choice2)
  35               CASE '1'
  36                    SET VAR vWhere = 'WHERE Hosp_POC_ID NOT IN (SEL 
Hosp_POC_ID FROM tSelectedValues) AND Hosp_POC_email EXISTS'
  37               BREAK
  38               CASE '2'
  39                    IF vFCC_Choice = NULL THEN
  40                         PAUSE 2 USING 'You Did Not Enter An FCC' CAPTION 
'Input Error' ICON APP BUTTON 'OK'
  41                         GOTO TheEnd
  42                    ELSE
  43                         SET VAR vWhere = 'WHERE Hosp_POC_ID NOT IN (SEL 
Hosp_POC_ID FROM tSelectedValues) AND Hosp_POC_email EXISTS AND  FCC_Code  = 
.vFCC_Choice'
  44                    ENDIF
  45               BREAK
  46               CASE '3'
  47                    IF vState_Init = NULL THEN
  48                         PAUSE 2 USING 'You Did Not Enter A State' CAPTION 
'Input Error' ICON APP BUTTON 'OK'
  49                         GOTO TheEnd
  50                    ELSE
  51                         SET VAR vWhere = 'WHERE Hosp_POC_ID NOT IN (SEL 
Hosp_POC_ID FROM tSelectedValues) AND Hosp_POC_email EXISTS AND  Hosp_State  = 
.vState_Init'
  52                    ENDIF
  53               BREAK
  54               DEFAULT
  55                    PAUSE 2 USING 'You Did Not Enter A Choice For 
All/FCC/State' CAPTION 'Input Error' ICON APP BUTTON 'OK'
  56                    GOTO TheEND
  57               BREAK
  58          ENDSW
  59     ENDIF



------------------------------------------------------------------------------


  No virus found in this incoming message.
  Checked by AVG Free Edition. 
  Version: 7.5.516 / Virus Database: 269.19.6/1230 - Release Date: 17/01/2008 
16:59

Reply via email to