Bom dia Sr(s),
Pessoal como eu poderia depurar a stored Procedure abaixo, atualmente estou utilizando a versão 2008.
USE [MP10]
GO
/****** Object: StoredProcedure [dbo].[USP_CONTAS_11] Script Date: 10/06/2009 09:37:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[USP_CONTAS_11](@cResult nvarchar(1) output )
AS
DECLARE @cFilial varchar(02)
DECLARE @cConta varchar(15)
DECLARE @nRec int
--Seta resultado = 0 = ERRO / 1 = OK
Set @cResult = '0'
BEGIN
DECLARE CT1_Cursor insensitive
CURSOR FOR
SELECT
TM.CT1_FILIAL, TM.CT1_CONTA
FROM
CT1950 TM LEFT JOIN CT1110 T1
ON TM.CT1_FILIAL = T1.CT1_FILIAL AND TM.CT1_CONTA = T1.CT1_CONTA AND T1.D_E_L_E_T_ = ''
WHERE
TM.D_E_L_E_T_ = ''
AND T1.CT1_CONTA IS NULL
--Abre o Cursor
FOR READ ONLY
OPEN CT1_Cursor
--Carrega valores para o Cursor
FETCH CT1_Cursor
INTO
@cFilial,
@cConta
BEGIN TRAN
--Inicio do processamento
WHILE (@@Fetch_Status = 0 ) BEGIN
--Seta o proximo do Recno
-- Select @nRec = ISNULL(MAX(R_E_C_N_O_),0)+1 FROM CT1110
--Insere os registros de acordo com o cursor
INSERT INTO CT1110 ( CT1_FILIAL, CT1_CONTA, CT1_DESC01, CT1_DESC02, CT1_DESC03, CT1_DESC04, CT1_DESC05, CT1_CLASSE, CT1_NORMAL, CT1_RES, CT1_BLOQ, CT1_DTBLIN, CT1_DTBLFI, CT1_DC, CT1_NCUSTO, CT1_CC, CT1_CVD02, CT1_CVD03, CT1_CVD04, CT1_CVD05, CT1_CVC02, CT1_CVC03, CT1_CVC04, CT1_CVC05, CT1_CTASUP, CT1_HP, CT1_ACITEM, CT1_ACCUST, CT1_ACCLVL, CT1_DTEXIS, CT1_DTEXSF, CT1_CTAVM, CT1_CTARED, CT1_CTALP, CT1_CTAPON, CT1_BOOK, CT1_GRUPO, CT1_AGLSLD, CT1_RGNV1, CT1_RGNV2, CT1_RGNV3, CT1_CCOBRG, CT1_ITOBRG, CT1_CLOBRG, CT1_LALUR, CT1_AGLUT, CT1_TRNSEF, CT1_CTLALU, CT1_ESTOUR, CT1_CODIMP, CT1_RATEIO, CT1_AJ_INF, CT1_USERGI, CT1_USERGA, CT1_TPLALU, D_E_L_E_T_, R_E_C_N_O_, CT1_DESC06, CT1_CVD06, CT1_CVC06, CT1_NTSPED, CT1_LALHIR )
SELECT CT1_FILIAL, CT1_CONTA, CT1_DESC01, CT1_DESC02, CT1_DESC03, CT1_DESC04, CT1_DESC05, CT1_CLASSE, CT1_NORMAL, CT1_RES, CT1_BLOQ, CT1_DTBLIN, CT1_DTBLFI, CT1_DC, CT1_NCUSTO, CT1_CC, CT1_CVD02, CT1_CVD03, CT1_CVD04, CT1_CVD05, CT1_CVC02, CT1_CVC03, CT1_CVC04, CT1_CVC05, CT1_CTASUP, CT1_HP, CT1_ACITEM, CT1_ACCUST, CT1_ACCLVL, CT1_DTEXIS, CT1_DTEXSF, CT1_CTAVM, CT1_CTARED, CT1_CTALP, CT1_CTAPON, CT1_BOOK, CT1_GRUPO, CT1_AGLSLD, CT1_RGNV1, CT1_RGNV2, CT1_RGNV3, CT1_CCOBRG, CT1_ITOBRG, CT1_CLOBRG, CT1_LALUR, CT1_AGLUT, CT1_TRNSEF, CT1_CTLALU, CT1_ESTOUR, CT1_CODIMP, CT1_RATEIO, CT1_AJ_INF, CT1_USERGI, CT1_USERGA, CT1_TPLALU, D_E_L_E_T_, R_E_C_N_O_, CT1_DESC06, CT1_CVD06, CT1_CVC06, CT1_NTSPED, CT1_LALHIR-- , CT1_SPEDST
FROM CT1950 WHERE CT1_FILIAL = @cFilial AND CT1_CONTA = @cConta
RAISERROR('VAI 1',16,1)
Set @cResult = '1'
--Proximo registro
FETCH CT1_Cursor
INTO
@cFilial,
@cConta
END
END
--Fecha o Cursor
CLOSE CT1_Cursor
DEALLOCATE CT1_Cursor
IF @@ERROR <> 0
BEGIN
RAISERROR('NÃO FOI POSSÍVEL GRAVAR NA BASE DO MICROSIGA.',16,1)
ROLLBACK TRAN
RETURN
END
COMMIT TRAN
--Seta retorno OK = Result = '1'
Set @cResult = '1'
W.Marrane