none
Copiar y Crear Nuevo Procedimiento Almacenado RRS feed

  • Pregunta

  • Estimados

    Quiero crear un nuevo procedimiento almacenado pero me enviá el error "Mens 208, Nivel 16, Estado 6, Procedimiento Query_Informe_Ventas_Inventario_XXX, Línea 15 - El nombre de objeto 'dbo. Query_Informe_Ventas_Inventario_XXX' no es válido."

    Lo que estoy haciendo es copiar la información de otro procedimiento almacenado y crearlo pero con otro nombre y me enviá el error.

    Les dejo copia de lo que quiero crear:

    USE [Reportes_SAP]
    GO
    /****** Object:  StoredProcedure [dbo].[Query_Informe_Ventas_Inventario_V2]    Script Date: 02/06/2019 10:20:28 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER proc [dbo].[Query_Informe_Ventas_Inventario_XXX] "ANTES DECIA V2 EN VES DE XXX, y yo le puse eso para cambiarle el nombre al procedimiento almacenado"
    (@Cmp nvarchar(128), @i date, @f date)
    --exec [Query_Informe_Ventas_Inventario] 'SBO_YYYY','20010201','20160430'
    as
    begin
        set language spanish;
        
        delete from BaseInformeVentas where Tipo='Stock' and Empresa=@Cmp

        
       if @Cmp='SBO_ZZZZ'
        begin
            exec Insert_Base_Informe_Ventas_Inventario 'SBO_ZZZZ'
            insert into BaseInformeVentas
            select distinct
                 'SBO_ZZZZ' [Empresa]
                ,0
                ,'Stock'
                ,'Stock' [Tipo]
                ,1
                ,@f [Fecha]
                ,T2.WhsName [DesBode]
                ,'' [Folio]
                ,'' [CodCaja]
                ,T0.ItemCode [CodProd]
                ,isnull(T3.ItemName,'') [DesProd]
                ,isnull(T3.U_GRUPO,'')[Descripcion Grupo]
                ,isnull(T3.U_SUBGRUPO,'') [SubGrupo]
                ,case T3.U_JERARQUIA when '0' then 'Accesorios' when '1' then 'Calzado' when '2' then 'Vestuario' when '3' then 'Insumos' when '4' then 'Rebate y Promociones' else '' end [Jerarquia]
                ,isnull(T6.Name,'') [Departamento]
                ,isnull(T7.Name,'') [Clase]
                ,isnull(T8.Name,'') [SubClase]
                ,0 [CantFacturada]
                ,0 [PrecioBol]
                ,0 [Total Final]
                ,T3.AvgPrice [Costo Rep]
                ,0 [Dcto aplicado]
                ,isnull(T3.U_GENERO,'') [Genero]
                ,isnull(T3.U_TEMPORADA,'') [Temporada]
                ,isnull(T3.U_ANIO,'') [Año]
                ,datename(mm,@f) [Mes]
                ,isnull(T3.U_STYLE,'') [Style]
                ,isnull(T3.U_COLOR,'') [Color]
                ,isnull(T3.U_TALLA,'') [Talla]
                ,isnull(T3.U_DELIVERY,'') [Delivery]
                ,datepart(iso_week,@f) [Semana]
                ,'' [CodVendedor]
                ,'' [Nombre Vendedor]
                ,isnull((select sum(A.InQty-A.OutQty) from SBO_ZZZZ..OINM A where A.ItemCode=T0.ItemCode and A.Warehouse=T0.Warehouse and A.DocDate<=@f),0) [Stock]
                ,isnull(datediff(dd,(select distinct MIN(R0.DocDate) from SBO_ZZZZ..OINM R0 where R0.ItemCode=T0.ItemCode and R0.Warehouse=T0.Warehouse and R0.InQty>0),@f),0) [Antiguedad Prod]
                ,isnull(T10.Name,'') [Marca]
                ,isnull(LP2.Price,0) [LP2]
                ,0
                ,0
                ,0
                ,0
                ,''
                ,''
                ,''
                ,''
                ,'Chile'
                ,''
                ,T10.Name
                ,cast(isnull((select max(A.Price) from SBO_ZZZZ..POR1 A where A.ItemCode=T3.ItemCode and A.DocEntry=(select max(AA.DocEntry) from SBO_ZZZZ..POR1 AA where AA.ItemCode=T3.ItemCode)),0) as varchar(50))
                ,''
                ,''
                ,''
                ,0
                ,''
                ,''
                ,isnull((select max(A.Rate) from SBO_ZZZZ..POR1 A where A.ItemCode=T3.ItemCode and A.DocEntry=(select max(AA.DocEntry) from SBO_ZZZZ..POR1 AA where AA.ItemCode=T3.ItemCode)),0)
                ,isnull((select distinct MIN(R0.DocDate) from SBO_ZZZZ..OINM R0 where R0.ItemCode=T0.ItemCode and R0.Warehouse=T0.Warehouse and R0.InQty>0),0)
                ,isnull(T3.U_REFEMB,'')
                ,isnull(T3.U_ATRIB_4,'')
                ,'Stock'
                ,(select distinct MAX(R0.DocDate) from SBO_ZZZZ..OINM R0 where R0.ItemCode=T0.ItemCode and R0.Warehouse=T0.Warehouse and R0.InQty>0 and R0.TransType in (20,59))
            
            from SBO_ZZZZ..OINM T0
            left join SBO_ZZZZ..OWHS T2 on T2.WhsCode=T0.Warehouse
            left join SBO_ZZZZ..OITM T3 with(nolock) on T3.ItemCode=T0.ItemCode
            left join SBO_ZZZZ..[@DEPTO] T6 on T6.Code=T3.U_DEPTO
            left join SBO_ZZZZ..[@CLASE] T7 on T7.Code=T3.U_CLASE
            left join SBO_ZZZZ..[@SUBCLASE] T8 on T8.Code=T3.U_SUBCLASE
            left join SBO_ZZZZ..[@MARCA] T10 on T10.Code=T3.U_MARCA
            left join SBO_ZZZZ..ITM1 LP2 with(nolock) on LP2.ItemCode=T3.ItemCode
            --left join SBO_ZZZZ..ITM1 LP4 with(nolock) on LP4.ItemCode=T3.ItemCode
            --left join SBO_ZZZZ..ITM1 LP5 with(nolock) on LP5.ItemCode=T3.ItemCode

                    
            where LP2.PriceList=2
        end

    end



    miércoles, 6 de febrero de 2019 13:38

Respuestas

  • Simplemente pon CREATE PROC en lugar de ALTER PROC.

    Alter se usa para modificar uno existente. Create se usa para crear uno nuevo. En tu caso es nuevo, puesto que estas poniendo un nombre que antes no existia.

    • Propuesto como respuesta Pedro Alfaro miércoles, 6 de febrero de 2019 16:05
    • Marcado como respuesta JOTAMIC miércoles, 6 de febrero de 2019 16:44
    miércoles, 6 de febrero de 2019 13:47

Todas las respuestas

  • Simplemente pon CREATE PROC en lugar de ALTER PROC.

    Alter se usa para modificar uno existente. Create se usa para crear uno nuevo. En tu caso es nuevo, puesto que estas poniendo un nombre que antes no existia.

    • Propuesto como respuesta Pedro Alfaro miércoles, 6 de febrero de 2019 16:05
    • Marcado como respuesta JOTAMIC miércoles, 6 de febrero de 2019 16:44
    miércoles, 6 de febrero de 2019 13:47
  • Pedro Alfaro, me di mil vueltas y nunca cambie la sentencia.. soy un torpe. Esto pasa cuando le das mil vueltas a la cosa y no miras desde otro punto de vista.

    Muchas gracias por tu respuesta, te pasaste.

    Saludos.

    miércoles, 6 de febrero de 2019 16:45
  • JOTAMIC ¿Cual es su nivel de conocimiento en SQL?

    IIslas Master Consultant SQL Server

    miércoles, 6 de febrero de 2019 17:33