First off I want to thank Razz, Rachael, and Albert for their help.  I did get 
it to work right.  Now I have a question, what happened from the last 2 
compiler builds.  This code I posted I have been using for at least 2 years, at 
3 locations, and on more than 10 computers and have never once had  this 
happen.  Is it better to use the code you posted and/or is the sqlcode becoming 
obsolete.  I am sure I have sqlcode elsewhere in my app, but obviously 
employees clock in and out everyday, so it came up first.  I have not changed 
the code or form at all, just re-compiled my startup file with the newer 
compiler version.
Tom Hart




________________________________
From: A. Razzak Memon <[email protected]>
To: RBASE-L Mailing List <[email protected]>
Sent: Wed, May 12, 2010 1:55:44 PM
Subject: [RBASE-L] - Re: Scratch

At 09:21 AM 5/12/2010, TOM HART wrote:

> On the newest build of compiled app(of which I have changed
> nothing, just recompiled my rmd file), something seems to
> have happened to the scratch settings.  I have scratch set
> to tmp in the startup file.


Tom,

Try the updated code below and see what you find. Make sure
to verify all relevant table/column names prior to using this
sample.

Use TRACE option to go through the whole code and understand
each step accordingly.

-- Start here ...
-- Test Sample For Tom Hart
-- Created: 05/12/2010
-- Define All Global Variables
   SET VAR vEmpID INTEGER = NULL
   SET VAR vEmpIDTxt TEXT = NULL
   SET VAR vEmpFullName TEXT = NULL
   SET VAR vPause2Message TEXT = NULL
   SET VAR vRows INTEGER = 0
   SET VAR vCaption TEXT = 'Employee ID'
LABEL Start
   CLS
   DIALOG 'Enter Employee ID' vEmpIDTxt=26 vEndKey 1 +
   CAPTION .vCaption ICON QUESTION +
   OPTION THEMENAME R:BASE Rocks!
IF vEndKey = '[Esc]' THEN
   GOTO Done
ENDIF
-- Validate Dialog Entry
IF vEmpIDTxt IS NULL THEN
   PAUSE 2 USING 'Missing Employee ID!' +
   CAPTION .vCaption ICON STOP +
   BUTTON 'Click here to enter Employee ID ...' +
   OPTION MESSAGE_FONT_NAME Verdana +
   |MESSAGE_FONT_COLOR RED +
   |MESSAGE_FONT_SIZE 10 +
   |BUTTON_FONT_COLOR GREEN +
   |THEMENAME R:BASE Rocks!
   GOTO Start
ENDIF
-- Validate Data Type
   SET VAR vEmpID = (INT(.vEmpIDTxt))
IF vEmpID IS NULL THEN
   PAUSE 2 USING 'Invalid Employee ID!' +
   CAPTION .vCaption ICON STOP +
   BUTTON 'Click here to enter Employee ID ...' +
   OPTION MESSAGE_FONT_NAME Verdana +
   |MESSAGE_FONT_COLOR RED +
   |MESSAGE_FONT_SIZE 10 +
   |BUTTON_FONT_COLOR GREEN +
   |THEMENAME R:BASE Rocks!
   GOTO Start
ENDIF
-- Validate Employee ID
   SET VAR vRows = 0
   SELECT COUNT(*) INTO vRows INDIC ivRows FROM EmployeeTab +
   WHERE EmpID = .vEmpID
IF vRows = 0 THEN
   PAUSE 2 USING 'No Employee with such Employee ID!' +
   CAPTION .vCaption ICON STOP +
   BUTTON 'Click here to enter correct Employee ID ...' +
   OPTION MESSAGE_FONT_NAME Verdana +
   |MESSAGE_FONT_COLOR RED +
   |MESSAGE_FONT_SIZE 10 +
   |BUTTON_FONT_COLOR GREEN +
   |THEMENAME R:BASE Rocks!
   GOTO Start
ELSE
   SELECT (EmpFName&EmpLName) INTO vEmpFullName INDIC iv1 +
   FROM EmployeeTab WHERE EmpID = .vEmpID
ENDIF
-- Check for Existing Record for the current day in AAEmpClock table
   SET VAR vRows = 0
   SELECT COUNT(*) INTO vRows INDIC ivRows FROM AAEmpClock +
   WHERE EmpID = .vEmpID AND EmpDate = .#DATE
-- If exists then Update. If Null then create a new record
IF vRows = 0 THEN
   CLS
   ENTER USING AAEmpClockIn FOR 1 ROW
   SET VAR vPause2Message = (.vEmpFullName&'has Clocked-In')
   CLS
   PAUSE 2 USING .vPause2Message +
   CAPTION .vCaption ICON Confirm +
   BUTTON 'Click here to continue ...' +
   OPTION MESSAGE_FONT_NAME Verdana +
   |MESSAGE_FONT_COLOR GREEN +
   |MESSAGE_FONT_SIZE 10 +
   |MESSAGE_FONT_BOLD OFF +
   |BUTTON_COLOR WHITE +
   |BUTTON_FONT_COLOR GREEN +
   |THEMENAME R:BASE Rocks!
   GOTO Done
ELSE
   CLS
   EDIT USING AAEmpClockOut WHERE EmpID = .vEmpID AND EmpDate = .#DATE
   SET VAR vPause2Message = (.vEmpFullName&'has Clocked-Out')
   CLS
   PAUSE 2 USING .vPause2Message +
   CAPTION .vCaption ICON Confirm +
   BUTTON 'Click here to continue ...' +
   OPTION MESSAGE_FONT_NAME Verdana +
   |MESSAGE_FONT_COLOR GREEN +
   |MESSAGE_FONT_SIZE 10 +
   |MESSAGE_FONT_BOLD OFF +
   |BUTTON_COLOR WHITE +
   |BUTTON_FONT_COLOR GREEN +
   |THEMENAME R:BASE Rocks!
ENDIF

LABEL Done
CLS
CLEAR VARIABLES iv%,vEmpID,vEmpIDTxt,vEmpFullName,vPause2Message, +
vRows,vCaption
RETURN
-- End here ...

Have fun!

Very Best R:egards,

Razzak.

Reply via email to