none
Error!!! Falta la comilla de cierre después de la cadena de caracteres RRS feed

  • Pregunta

  • Hola a todos.

    Me encuentro realizando un SELECT dinámico mediante un SP, el cual a continuación se los comparto; no tengo muchos conocimientos para con este tipo de select, agradezco de antemano su atención y paciencia.

    ALTER PROCEDURE [dbo].[ListadoBotonesHabilitadosHomologaciones]
    @ncompany varchar(5),
    @id float,
    @user varchar(30),
    @idElement int,
    @fDateProxRevision AS VARCHAR (10),
        @tDateProxRevision AS VARCHAR (10),
    @fDateUltRevision AS VARCHAR (10),
        @tDateUltRevision AS VARCHAR (10)


    AS
    BEGIN

    --Se crea tabla temporal para poder garantizar que en el modulo de reporting se listen los campos requeridos para generar el reporte.
    create table #TmpListaBotonesHabilitadosHomologaciones (
    Placa        varchar(20),
    Id_Rom                varchar(20),
    Boton_Habilitado varchar(01),
    Fecha_Prox_Revision    varchar(20),
    Fecha_Ult_Revision varchar(20),
    Nit_Certificador    numeric(12),
    Nit_Taller_Conv numeric(12),
    Ciudad    varchar(08)
    );

    --Campos de Filtro
    DECLARE @fromDateProx  varchar(130)
    DECLARE @toDateProx    varchar(130)
    DECLARE @fromDateUlt   varchar(130)
    DECLARE @toDateUlt     varchar(130)
    set @fromDateProx   = ''
    set @toDateProx     = ''
    set @fromDateUlt    = ''
    set @toDateUlt      = ''

    if ISNULL(@fDateProxRevision, '') <> ''
    begin
    set @fromDateProx = ' FECHA_PROXIMA_REVISION BETWEEN (CONVERT(datetime, FECHA_PROXIMA_REVISION, 103) >= CONVERT(datetime, CONVERT(varchar, CONVERT(smalldatetime, '''+ @fDateProxRevision +' 00:00:00''), 103)))'
    end

    if ISNULL(@tDateProxRevision, '') <> ''
    begin
    set @toDateProx = ' and (CONVERT(datetime, FECHA_PROXIMA_REVISION, 103) <= CONVERT(datetime, CONVERT(varchar, CONVERT(smalldatetime, '''+ @tDateProxRevision +'23:59:59''), 103)))'
    end

    if ISNULL(@fDateUltRevision, '') <> ''
    begin
    set @fromDateUlt = ' FECHA_ULTIMA_REVISION BETWEEN (CONVERT(datetime, FECHA_ULTIMA_REVISION, 103) >= CONVERT(datetime, CONVERT(varchar, CONVERT(smalldatetime, '''+ @fDateUltRevision +' 00:00:00''), 103)))'
    end

    if ISNULL(@tDateUltRevision, '') <> ''
    begin
    set @toDateUlt = ' and (CONVERT(datetime, FECHA_ULTIMA_REVISION, 103) <= CONVERT(datetime, CONVERT(varchar, CONVERT(smalldatetime, '''+ @tDateUltRevision +' 23:59:59''), 103)))'
    end


        ----------------------------------------------------------------------
    -- Se realiza consulta de los datos necesarios para el reporte
    -- tomando el rango de fechas ingresados.
    -- La consulta se puede realizar ya sea por FECHA_PROXIMA_REVISION
    -- o FECHA_PROXIMA_REVISION.
    -- Se insertan los valores en la tabla temporal, de acuerdo a los filtros
    ----------------------------------------------------------------------
    DECLARE @STR_QUERY_REPORTE as varchar(max)
    SET @STR_QUERY_REPORTE = N'
    INSERT INTO #TmpListaBotonesHabilitadosHomologaciones(
    Placa,Id_Rom,Boton_Habilitado,Fecha_Prox_Revision,
    Fecha_Ult_Revision,Nit_Certificador,Nit_Taller_Conv,Ciudad)
    SELECT PLACA, ID_ROM, BOTON_HABILITADO, FECHA_PROXIMA_REVISION, FECHA_ULTIMA_REVISION,
    NIT_CERTIFICADOR, NIT_TALLER_CONV, CIUDAD
    FROM HOMOLOGACIONES with(NOLOCK)
    WHERE NCOMPANY = '''+ @nCompany +''' ORDER BY ID_ROM ASC'
    +@fromDateProx
    +@toDateProx
    +@fromDateUlt
    +@toDateUlt


    EXEC(@STR_QUERY_REPORTE)

        SELECT * FROM #TmpListaBotonesHabilitadosHomologaciones

    END

    Cuando ejecuto el SP me sale el siguiente error:

    Mens. 102, Nivel 15, Estado 1, Línea 86
    Sintaxis incorrecta cerca de 'FECHA_PROXIMA_REVISION'.
    Mens. 105, Nivel 15, Estado 1, Línea 86
    Falta la comilla de cierre después de la cadena de caracteres '04/01/201623:59'.


    El SP lo ejecuto de la siguiente forma:

    EXECUTE ListadoBotonesHabilitadosHomologaciones
    @fDateProxRevision = '01/01/2016',
    @tDateProxRevision = '04/01/2016',
    @fDateUltRevision =  '',
    @tDateUltRevision =  '',
    @Ncompany = '02955',
    @id = '',
    @user = '122776',
        @idElement = ''

    Alguien me podría ayudar en determinar por que se esta presentando esto?


    EXECUTE ListadoBotonesHabilitadosHomologaciones
    @fDateProxRevision = '01/01/2016',
    @tDateProxRevision = '04/01/2016',
    @fDateUltRevision =  '',
    @tDateUltRevision =  '',
    @Ncompany = '02955',
    @id = '',
    @user = '122776',
        @idElement = ''
    EXECUTE ListadoBotonesHabilitadosHomologaciones
    @fDateProxRevision = '01/01/2016',
    @tDateProxRevision = '04/01/2016',
    @fDateUltRevision =  '',
    @tDateUltRevision =  '',
    @Ncompany = '02955',
    @id = '',
    @user = '122776',
        @idElement = ''
    EXECUTE ListadoBotonesHabilitadosHomologaciones
    @fDateProxRevision = '01/01/2016',
    @tDateProxRevision = '04/01/2016',
    @fDateUltRevision =  '',
    @tDateUltRevision =  '',
    @Ncompany = '02955',
    @id = '',
    @user = '122776',
        @idElement = ''
    martes, 24 de enero de 2017 23:31

Respuestas

Todas las respuestas