
CREATE procedure [dbo].[LiqLeche_Cerrar_ControlPeriodo]
(
	@xml		xml
)
WITH ENCRYPTION 
as

-----------------------------------------------------
-- DECLARACION DE VARIABLES PARA REALIZAR PROCESOS --
-----------------------------------------------------
	set nocount on
	declare @idDoc				int,
			@Err				varchar(255),
			@rc					int,
			@COPEID				int  = 0


	EXEC sp_xml_preparedocument @idDoc OUTPUT, @xml
	BEGIN TRY

		BEGIN TRANSACTION  

	------------------------------
	-- PROCESO DE ACTUALIZACION --
	------------------------------
		
		update COPE
		SET  
		--	 COPE.COPE_ID = COPE_ID
		--	 ,COPE.COPE_PERIODO = COPE_PERIODO
		--	 ,COPE.COPE_NROQUINCENA = COPE_NROQUINCENA
		-- 	 COPE.COPE_FECHA = xdoc.COPE_FECHA
			 COPE.COPE_ESTADO = 1
		from CONTROL_PERIODOS  COPE
		inner join (select *
					from openxml(@idDoc, '/dtoControlPeriodo', 2)   
					WITH	(
							 COPE_ID				integer
							  ,COPE_PERIODO			varchar(7)
							  ,COPE_NROQUINCENA		integer
							  ,COPE_FECHA			varchar(10)
							  ,COPE_ESTADO			int
							)
					)  xdoc  	on COPE.COPE_PERIODO = xdoc.COPE_PERIODO AND COPE.COPE_NROQUINCENA = xdoc.COPE_NROQUINCENA					
	
		commit
	END TRY
	BEGIN CATCH
		ROLLBACK
		SET @Err = convert(varchar, ERROR_NUMBER()) + '-' + ERROR_MESSAGE() 

		raiserror(@Err,16,1)  
	END CATCH
GO
