CREATE PROCEDURE dbo.ABACTESTATUSMERCSINMOVTOPERIODO
@OPCION INT,
@PERIODO INT,
@USUARIO INT
AS
DECLARE @EST INT
DECLARE @IdHistEst int
DECLARE @IDLGS int
DECLARE @ACT INT
--DECLARE cursinmovto CURSOR FOR
--OPCION 1.. TRIMESTRE, 2.. SEMESTRE, 3...ANUAL
IF @OPCION=1
BEGIN
SELECT @EST=9
END
IF @OPCION=2
BEGIN
SELECT @EST=8
END
IF @OPCION=3
BEGIN
SELECT @EST=7
END
BEGIN TRAN SINMOVTO
SELECT @IdHistEst=MAX (IdHistEst) FROM ABSECHISTORIAESTATUS
SELECT @ACT=0
--Identity(int, 1 ,1)
SELECT @IdHistEst AS IdRow , IDLGS as IDLGS , @EST as EST, 'ACT. 1.4.1.16 ' as Descripcion, GETDATE() as Fecha ,@USUARIO as Usuario
INTO #tmpSec
FROM SECUENCIAS
WHERE
ANIOHASTA=@PERIODO
AND ESTATUS<>@EST
INSERT INTO
ABSECHISTORIAESTATUS (IdHistEst, IDLGS, ESTATUSACT, OBSERVACIONES, FECHA, IDUSUARIO)
SELECT IdRow, IDLGS , EST, Descripcion, Fecha , Usuario
FROM #tmpSec
WHERE
ANIOHASTA=@PERIODO
AND ESTATUS<>@EST
IF @@ERROR <> 0
BEGIN
SELECT -1
COMMIT TRAN SINMOVTO
RETURN
END
SELECT @ACT=COUNT(*)
FROM SECUENCIAS
WHERE
ANIOHASTA=@PERIODO
AND ESTATUS<>@EST
UPDATE SECUENCIAS
SET ESTATUS=@EST
FROM SECUENCIAS
WHERE
IDLGS IN (SELECT IDLGS
FROM SECUENCIAS
WHERE
ANIOHASTA=@PERIODO)
AND ESTATUS<>@EST
IF @@ERROR <> 0
BEGIN
SELECT -1
ROLLBACK TRAN SINMOVTO
RETURN
END
DROP TABLE #tmpSec
SELECT @ACT
COMMIT TRAN SINMOVTO
RETURN
mira la verdad hice esto no se si este bien porque fijate que intente con el
identity (int ,@IdHistEst ,1) no me funciono me marcaba un error
me decia que habia una syntaxis incorrecta.
bueno hice el stored con el commit tran pero tambien me marca estos errores
al momento de correrlo en el query analizer
(0 filas afectadas)
Servidor: mensaje 207, nivel 16, estado 3, procedimiento ABACTESTATUSMERCSINMOVTOPERIODO, línea 70
Invalid column name 'ANIOHASTA'.
Servidor: mensaje 207, nivel 16, estado 1, procedimiento ABACTESTATUSMERCSINMOVTOPERIODO, línea 70
Invalid column name 'ESTATUS'.
Servidor: mensaje 266, nivel 16, estado 1, procedimiento ABACTESTATUSMERCSINMOVTOPERIODO, línea 124
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 39, current count = 40.
ahi si que no se si lo plantee mal todo .....
ayudame ya lo ultimo

plis