/* IN SQL SERVER (Query Analyzer), SELECT "MASTER" DATABASE and execute the following */ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[test]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[test] GO CREATE PROCEDURE test @retval CHAR(2) OUTPUT AS SELECT @retval = xtype from sysobjects WHERE id = 1 GO /* END OF SQL SERVER STUFF */ *** NOW IN VFP RUN THE FOLLOWING CODE WITH A LOGIN THAT WILL GET YOU ACCESS *** gnCon = SQLCONNECT( [DSN], [UID], [PWD] ) SQLEXEC( gnCon, [USE Master] ) PRIVATE luRetVal luRetVal = "" ? SQLEXEC( gnCon, [EXEC test ?@luretval] ) *** Should show "1" and now ? luRetVal *** Should show "S"