Jim :
>>
Do you SET SCRATCH blah blah before you connect to
the database or connect to the database and then set scratch?
<<
SCRATCH must be set BEFORE DB connection, and BEFORE any work that could
generate a scratch file.
Keep also in mind that scratch directory must exist and must be avalaible
in write mode.
If not, you can have many unexplained troubles (I have experimented that)
....
Here is the code I run before lauching all my app :
-- Controle existence et accessibilit� r�pertoire Scratch
SET VAR vscratch = (CVAL('SCRATCH'))
SET VAR vTEXT = (.vscratch + '\*.*')
SET VAR vINT = (CHKFILE(.vTEXT))
IF vINT = 0 THEN
-- Le r�pertoire SCRATCH n'existe pas
SET VAR vTEXT = ('Cr�er le r�pertoire SCRATCH (' + .vscratch + ') et
relancer')
-- 16 = 1 seul bouton, arr�t critique
SET VAR vTEXT = ('16|' + .Vcaption + '|' + .vTEXT)
SET VAR vTEXT = (UDF('@RMSG.DLL',.vTEXT))
QUIT
ELSE
-- Il existe ... Tentative de copie
COPY rbase.dat .vscratch
SET VAR vINT = .verr
IF vINT <> 0 THEN -- Le r�pertoire SCRATCH est inaccessible
SET VAR vTEXT = ('Ecriture impossible sur le r�pertoire SCRATCH (' +
+ .vscratch + '). Erreur' & (CTXT(.vINT)))
SET VAR vTEXT = ('16|' + .Vcaption + '|' + .vTEXT)
SET VAR vTEXT = (UDF('@RMSG.DLL',.vTEXT))
QUIT
ELSE -- Effacement du fichier copi�
SET VAR vTEXT = (.vscratch + '\rbase.dat')
DELETE .vTEXT
ENDIF
ENDIF
Hope this help ....
J.M. GRATIAS, Logimatique, France