quote: Originally posted by pk_bohra Can you post the complete code of SP ?
If you don't mind trawling through the SP although if it makes sense to me then must be easy. I'm thinking it must be some anomally why it returns 0 but I would like to know how to run the exec command and see what it returns. Anyway here is the Sp that tries to insert the data from an xml field into the gift table. In my situation it doesn't insert although an appeal code I'm using is in the appeal table. So it inserts data into the error table. Inside the cursor in the SP the code calls another SP which checks if there is an appeal code for the given name (which I show in my first post). So I'm trying to figure out why but would like to know how to get the result of using exec command.set ANSI_NULLS ONset QUOTED_IDENTIFIER ONGO-------------------------------------------------------------------------------------------------------------------------------------------------------------- Name: dbo.usp_COR_ins_tblCORGiftOnline_FromXML-- Author: -- Date: June 2005------------------------------------------------------------------------------------------------------------------------------------------------------------ALTER PROCEDURE [dbo].[usp_COR_ins_tblCORGiftOnline_FromXML]( @iTransactionID INT , @nXMLTransaction NVARCHAR(4000) )AS-- Declare Error variables -------------------------------------------------------------------------------------------------------------------DECLARE @vUSER VARCHAR(128)DECLARE @vPROC VARCHAR(128)DECLARE @vACTION VARCHAR(10)DECLARE @vTABLE VARCHAR(128)DECLARE @vMessage VARCHAR(250) -- Set error defaults SET @vUSER = CURRENT_USER SET @vPROC = 'dbo.usp_COR_ins_tblCORGiftOnline_FromXML' SET @vACTION = 'Insert' SET @vTABLE = 'tbl_COR_GiftOnline'-- END OF Declare Error variables -------------------------------------------------------------------------------------------------------- Declare variablesDECLARE @iDoc INT -- Pointer to XMLDECLARE @iCORWEBID INT -- Cursor variableDECLARE @nAppealCode NVARCHAR(50) -- Cursor variableDECLARE @nInteractionType NVARCHAR(50) -- Cursor variableDECLARE @dAmount NUMERIC(9,2) -- Cursor variableDECLARE @tDate DATETIME -- Cursor variableDECLARE @cGifts CURSOR -- CursorDECLARE @iPersonID INT -- VariableDECLARE @iAppealID INT -- VariableDECLARE @iReturn INT -- VariableDECLARE @iGiftID INT -- Cursor variable -- Create temp table CREATE TABLE #GiftIns ( GiftID INT NULL , CORWebID INT NULL , AppealCode NVARCHAR(50) NULL, [Date] DATETIME NULL, Amount NUMERIC(9,2) NULL ) -- Make sure case is not an issue SET @nXMLTransaction = REPLACE(@nXMLTransaction, ' CORWEBID',' CORWebID') -- Open XML doc EXEC sp_xml_preparedocument @iDoc OUTPUT, @nXMLTransaction -- Copy XML data in to temp table INSERT INTO #GiftIns SELECT * FROM OPENXML(@iDoc, '/Gift') WITH #GiftIns -- Close XML EXEC sp_xml_removedocument @iDoc --Declare Cursor (After temp table has been populated) SET @cGifts = CURSOR FOR SELECT GiftID, CORWEBID, AppealCode, [Date], Amount FROM #GiftIns -- Open the cursor OPEN @cGifts --Scroll around the cursor FETCH NEXT FROM @cGifts INTO @iGiftID, @iCORWEBID, @nAppealCode, @tDate, @dAmount WHILE (@@FETCH_STATUS <> -1) BEGIN IF (@@FETCH_STATUS <> -2) BEGIN -- Get PersonID EXEC @iPersonID = usp_COR_sel_tblCORPerson_IDFromCorWebUrn @iCORWEBID EXEC @iAppealID = usp_COR_sel_tblCORAppeal_IDFromName @nAppealCode IF @iAppealID = 0 BEGIN SET @vMessage = 'Unable to send send process because we cannot locate appeal code: ' + ISNULL(@nAppealCode,'') + ' ' + CONVERT(nvarchar, @iAppealID) EXEC usp_COR_ins_tblCORError @vUSER, @vPROC, @vTABLE, @vACTION, @vMessage, 10, @iTransactionID RETURN -1 END ELSE BEGIN EXEC @iReturn = usp_COR_ins_tblCORGiftOnline @iGiftID, @iPersonID, @iAppealID, @tDate, @dAmount END END FETCH NEXT FROM @cGifts INTO @iGiftID, @iCORWEBID, @nAppealCode, @tDate, @dAmount END -- Close the cursor CLOSE @cGifts DEALLOCATE @cGifts -- Drop temp table DROP TABLE #GiftIns -- Return correct error status (convert from returned identity no) IF @iReturn > 0 SET @iReturn = 0 ELSE SET @iReturn = -1 RETURN @iReturn------------------------------------------------------------------------------------------------------------------------------------------------------------DROP PROC usp_COR_ins_tblCORGiftOnline_FromXML |