CREATE PROCEDURE spgetmin @min_ret varchar(10) OUTPUT AS DECLARE @m_min varchar(10) DECLARE @m_assigned varchar(1) DECLARE @m_recvd_date datetime DECLARE gmin SCROLL CURSOR FOR select * from mins where m_assigned='N' ORDER BY m_min FOR UPDATE OF m_assigned OPEN gmin FETCH FIRST FROM gmin INTO @m_min, @m_assigned, @m_recvd_date SELECT @min_ret=@m_min BEGIN TRANSACTION UPDATE mins SET m_assigned='Y' WHERE CURRENT OF gmin IF @@ERROR <> 0 BEGIN ROLLBACK TRANSACTION END ELSE BEGIN COMMIT TRANSACTION END DEALLOCATE gminAnd here is the VFP code I use to execute the stored procedure. What I really want is the output parameter in VFP:
consql=SQLCONN('upsize') =sqlsetprop(consql,'Asynchronous',.T.) sputest=0 DO WHILE sputest=0 sputest=SQLEXEC(consql,"use att_test;{call spgetmin (?@moutput)}") ENDDO IF sputest=-1 lnCount=AERROR(laError) IF lnCount > 0 lcErrorMsg=laError[2] nErrorNo=laError[1] nODBCErrorno=laError[5] cErrorMsg=lcErrorMsg+"["+LTRIM(STR(nErrorNo))+":"+LTRIM(STR(nODBCErrorno))+"]" =MESSAGEBOX(cErrorMsg+CHR(13)+'Update Error: Changes Rolled Back') ENDIF ENDIF =sqldisc(consql)Any help would be GREATLY appreciated!