none
Error al crear un Procedure RRS feed

  • Pregunta

  • Llamo una función de cambio de numero a letras, para concatenar con la busqueda por (serie, tipo, numero ) de comprobante.

    -- Fc_total es numeric(10,2)

    Select que hago si muestra  datos:

    select '1000|'+dbo.Fn_Numero_Letras(Fc_Total)+'/100 SOLES|' from Facturas
    where Fc_Coddoc = '00000012' and Fc_Serie='001' and Fc_numero ='0036380'

    --dbo.Fn_Numero_Letras MUESTRA  : No se encuentra la columna "dbo", la funcion definida o agregada por el usuario , o bien el nombre es ambiguo

    igual muestra el Resultado:

    1000|CINCO CON 00/100 SOLES|

    pero lo quiero implementar en un procedimiento almacenado

    CREATE PROCEDURE CJ_C_Leyenda_Sunat
    -- Parametros del Procedure
    @tipo  CHAR(8),
    @serie CHAR(4), 
    @numero CHAR(8)
    AS
    BEGIN
    Set Nocount on
    SET QUOTED_IDENTIFIER Off
    Declare @cadena varchar(600)
    select @cadena = "Select '1000|'+dbo.Fn_Numero_Letras(Fc_Total)+'/100 SOLES |' from Facturas where Fc_Coddoc = "+@tipo+" and Fc_Serie="+@serie+" and Fc_numero ="+@numero+" "

    exec (@cadena)
    Set Nocount off
    END

    Muestra estos errores

    Mens 207, Nivel 16, Estado 1, Procedimiento CJ_C_Leyenda_Sunat, Línea 24
    El nombre de columna 'Select '1000|'+dbo.Fn_Numero_Letras(Fc_Total)+'/100 SOLES |' from Facturas where Fc_Coddoc = ' no es válido.
    Mens 207, Nivel 16, Estado 1, Procedimiento CJ_C_Leyenda_Sunat, Línea 24
    El nombre de columna ' and Fc_Serie=' no es válido.
    Mens 207, Nivel 16, Estado 1, Procedimiento CJ_C_Leyenda_Sunat, Línea 24
    El nombre de columna ' and Fc_numero =' no es válido.
    Mens 207, Nivel 16, Estado 1, Procedimiento CJ_C_Leyenda_Sunat, Línea 24
    El nombre de columna ' ' no es válido.

    miércoles, 27 de febrero de 2019 17:28

Todas las respuestas

  • Hola

    Tengo una duda, ¿porque hace una ejecucion DINAMICA con exec (@cadena)?

    No seria igual ejecutar al final del procedimiento

    Select '1000|'+
    dbo.Fn_Numero_Letras(Fc_Total) +  -- Fc_Total, supongo que es una columna de la tabla Facturas
    '/100 SOLES |'
    from Facturas
    where Fc_Coddoc = @tipo and
    Fc_Serie = @serie and
    Fc_numero = @numero


    IIslas Master Consultant SQL Server

    • Propuesto como respuesta Pedro Alfaro miércoles, 27 de febrero de 2019 19:53
    miércoles, 27 de febrero de 2019 18:01