Q:

Error Insert into a table with data from XML in SQL Server

My stored procedure to insert data in XML to the table CCobro, doesn't work and it doesn't throw any error. 
I think it is because in the table I have column Activo, which is not null, and in the XML file this attribute is not there.  
So maybe it is the problem.  I don't know how can I combine the XML data with my own data. 
Table where the data must be insert:
CREATE TABLE [dbo].[CCobro](
    [ID] [int] NOT NULL,
    [Nombre] [varchar](100) NOT NULL,
    [TasaInteresMoratorio] [real] NOT NULL,
    [DiaEmisionRecibo] [tinyint] NOT NULL,
    [QDiasVencimiento] [tinyint] NOT NULL,
    [EsImpuesto] [varchar](10) NULL,
    [EsRecurrente] [varchar](10) NULL,
    [EsFijo] [varchar](10) NULL,
    [TipoCC] [varchar](30) NOT NULL,
    [Activo] [bit] NOT NULL,
    CONSTRAINT [PK_Concepto Cobro] PRIMARY KEY CLUSTERED 
    (
        [ID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, 
     ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

Stored Procedure to insert into CCobro table:
CREATE OR ALTER PROCEDURE [dbo].[spCargarDatosCC]

AS
BEGIN
    SET NOCOUNT ON;

    -- VARIABLES --
    DECLARE @DocHandle int, @temp xml, @CCobro xml

    BEGIN TRY
        --Insercion de los tipos de documentos de identificacion
        SELECT @CCobro = CC
        FROM OPENROWSET (Bulk 'D:\Base de datos\FacturacionMunicipal_BD\Base de Datos\XML\Concepto_de_Cobro.xml', Single_BLOB) AS CCobro(CC)
        EXEC sp_xml_preparedocument @DocHandle OUTPUT, @CCobro

        INSERT INTO CCobro (ID, Nombre, TasaInteresMoratorio, DiaEmisionRecibo, QDiasVencimiento, EsImpuesto, EsRecurrente, EsFijo, TipoCC)
        SELECT *
        FROM OPENXML(@DocHandle, '/Conceptos_de_Cobro/conceptocobro', 1) 
        WITH
        (
            ID int '@id' ,
            Nombre VARCHAR(100) '@Nombre',
            TasaInteresMoratorio real '@TasaInteresMoratoria',
            DiaEmisionRecibo tinyint '@DiaCobro',
            QDiasVencimiento tinyint '@QDiasVencimiento',
            EsImpuesto varchar(10) '@EsImpuesto',
            EsRecurrente varchar(10) '@EsRecurrente',
            EsFijo varchar(10) '@EsFijo',
            TipoCC varchar(30) '@TipoCC'
        )

        EXEC sp_xml_removedocument @DocHandle

    END TRY

    BEGIN CATCH
        return @@ERROR * -1
    END CATCH
 END

In this line 
INSERT INTO CCobro (ID, Nombre, TasaInteresMoratorio, DiaEmisionRecibo, QDiasVencimiento, EsImpuesto, EsRecurrente, EsFijo, TipoCC)

I don't enter the Activo column because the xml doesn't have this attribute.  But I want to insert a 1, every time that a new data is insert. 
The xml file:
<Conceptos_de_Cobro>
    <conceptocobro id="1" Nombre="Agua" DiaCobro="25" QDiasVencimiento="4" EsImpuesto="No" EsRecurrente="Si" EsFijo="No" TasaInteresMoratoria="5.2" TipoCC="CC Consumo" Monto="" ValorM3="500" ValorPorcentaje="" />
    <conceptocobro id="2" Nombre="Patente Licores" DiaCobro="8" QDiasVencimiento="12" EsImpuesto="Si" EsRecurrente="No" EsFijo="No" TasaInteresMoratoria="2.6" TipoCC="CC Fijo" Monto="50000" ValorM3="" ValorPorcentaje="" />
    <conceptocobro id="3" Nombre="impuesto Propiedad" DiaCobro="8" QDiasVencimiento="12" EsImpuesto="Si" EsRecurrente="No" EsFijo="Si" TasaInteresMoratoria="1.5" TipoCC="CC Porcentual" Monto="" ValorM3="" ValorPorcentaje="0.25" />
    <conceptocobro id="4" Nombre="Recolectar Basura" DiaCobro="4" QDiasVencimiento="5" EsImpuesto="No" EsRecurrente="Si" EsFijo="Si" TasaInteresMoratoria="2.2" TipoCC="CC Fijo" Monto="3000" ValorM3="" ValorPorcentaje="" />
    <conceptocobro id="5" Nombre="Mantenimiento de Parques" DiaCobro="3" QDiasVencimiento="7" EsImpuesto="Si" EsRecurrente="Si" EsFijo="Si" TasaInteresMoratoria="0.87" TipoCC="CC Fijo" Monto="970" ValorM3="" ValorPorcentaje="" />
    <conceptocobro id="6" Nombre="Reconexion de Agua" DiaCobro="15" QDiasVencimiento="10" EsImpuesto="No" EsRecurrente="No" EsFijo="Si" TasaInteresMoratoria="3.8" TipoCC="CC Fijo" Monto="780" ValorM3="" ValorPorcentaje="" />
    <conceptocobro id="7" Nombre="Impuesto a la Renta" DiaCobro="5" QDiasVencimiento="15" EsImpuesto="Si" EsRecurrente="Si" EsFijo="No" TasaInteresMoratoria="12.6" TipoCC="CC Porcentual" Monto="" ValorM3="" ValorPorcentaje="0.15" />
    <conceptocobro id="8" Nombre="Mantenimiento de Parques" DiaCobro="7" QDiasVencimiento="6" EsImpuesto="No" EsRecurrente="Si" EsFijo="Si" TasaInteresMoratoria="0.32" TipoCC="CC Fijo" Monto="7850" ValorM3="" ValorPorcentaje="" />
   <conceptocobro id="9" Nombre="Aseo de sitios Publico" DiaCobro="1" QDiasVencimiento="10" EsImpuesto="No" EsRecurrente="Si" EsFijo="Si" TasaInteresMoratoria="7.8" TipoCC="CC Fijo" Monto="580" ValorM3="" ValorPorcentaje="" />
</Conceptos_de_Cobro>

A:

Microsoft proprietary OPENXML and its companions sp_xml_preparedocument  and sp_xml_removedocument are kept just for backward compatibility with the obsolete SQL Server 2000. 
Starting from SQL Server 2005 onwards, it is better to start using using SQL Server XML data type methods and XQuery. 
So the stored procedure would be as follows:

SQL

CREATE OR ALTER PROCEDURE [dbo].[spCargarDatosCC]
AS
BEGIN
    SET NOCOUNT ON;

    -- VARIABLES --
    DECLARE @CCobro xml

    BEGIN TRY
        --Insercion de los tipos de documentos de identificacion
        SELECT @CCobro = CC
        FROM OPENROWSET (Bulk 'D:\Base de datos\FacturacionMunicipal_BD\Base de Datos\XML\Concepto_de_Cobro.xml', Single_BLOB) AS CCobro(CC)

        INSERT INTO CCobro (ID, Nombre, TasaInteresMoratorio, DiaEmisionRecibo, QDiasVencimiento, EsImpuesto, EsRecurrente, EsFijo, TipoCC, Activo)
        SELECT c.value('@id','INT') AS ID
            , c.value('@Nombre','VARCHAR(100)') AS Nombre
            , c.value('@TasaInteresMoratoria','DECIMAL(10,2)') AS TasaInteresMoratorio
            , c.value('@DiaCobro','TINYINT') AS DiaEmisionRecibo
            , c.value('@QDiasVencimiento','TINYINT') AS QDiasVencimiento
            , c.value('@EsImpuesto','VARCHAR(10)') AS EsImpuesto 
            , c.value('@EsRecurrente','VARCHAR(10)') AS EsRecurrente  
            , c.value('@EsFijo','VARCHAR(10)') AS EsFijo  
            , c.value('@TipoCC','VARCHAR(10)') AS TipoCC
            , 1 AS Activo
        FROM @CCobro.nodes('/Conceptos_de_Cobro/conceptocobro') AS t(c);

    END TRY

    BEGIN CATCH
        return @@ERROR * -1
    END CATCH
 END

